[go: up one dir, main page]

0% found this document useful (0 votes)
575 views334 pages

FESTO Fundamentals of Robotics PDF

Uploaded by

Jevonne Reyboyss
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
575 views334 pages

FESTO Fundamentals of Robotics PDF

Uploaded by

Jevonne Reyboyss
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 334

Learning System for Automation and Communications

Fundamentals of robotics

H. Dahlhoff • S. Götz • H. Hohenburg • R. Schulé • J. Spielmann

Festo Didactic KG, Esslingen


081063
Order No.: 081063
Description: ROB-RVM1-ARBB
Designation: D.LW-BP70-M1-GB
Status: 02/93
Graphics: D. Schwarzenberger
Layout: 17.05.93, M. Schwarz, S. Sperrfechter
Editor: H. Dahlhoff
Authors: H. Dahlhoff, S. Götz, H. Hohenburg, R. Schulé, J. Spielmann
Translator: A. Burns

© Copyright by Festo Didactic KG, D-74734 Esslingen, Germany 1994

All rights reserved, including translation rights. No part of this publication may
be reproduced or transmitted in any form or by any means, electronic, mech-
anical, photocopying, or otherwise, without the prior written permission of Festo
Didactic.
Table of contents Festo Didactic
BP70

Table of contents
Introduction
Layout of the workbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
What is robotics? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Notes for users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Section A: Course

Exercises
A 1 Assembly and reference point travel of the robot . . . . . . . . . . A-3
A 2 Basic functions of the Teaching Box . . . . . . . . . . . . . . . . . A-9
A 3 Positioning of the robot arm using the Teaching Box . . . . . . . . A-15
A 4 Basic functions of the programming software: Teaching mode . . . A-21
A 5 Basic functions of the programming software: On-line mode . . . . A-27
A 6 Automatic repositioning of workpieces . . . . . . . . . . . . . . . . A-35
A 7 Conditional repositioning of workpieces . . . . . . . . . . . . . . . A-43
A 8 Palletising . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-51
A 9 Program structuring using the subroutine method . . . . . . . . . . A-59
A10 Tick-tack-toe game . . . . . . . . . . . . . . . . . . . . . . . . . . A-69
A11 Movement in a smooth line . . . . . . . . . . . . . . . . . . . . . A-79
A12 Simulation of paint spraying . . . . . . . . . . . . . . . . . . . . . A-87
A13 Continuous motion . . . . . . . . . . . . . . . . . . . . . . . . . . A-95

3
Table of contents Festo Didactic
BP70

Section B: Fundamentals
B1 Industrial robots in production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3
1.1 Recession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-4
1.2 Objectives and characteristics of automated and flexible production B-7
1.3 Areas of application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-9
1.4 Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-14

B2 Industrial robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-17


2.1 Pick-and-place devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-19
2.2 Manipulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-19
2.3 Industrial robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-20
2.3.1 Robot arm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-22
2.3.2 Robot controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-24
2.3.3 Characteristics of a robot . . . . . . . . . . . . . . . . . . . . . . . . . . . B-24
2.3.4 Additional terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-32
2.3.5 Modes of operation of a robot . . . . . . . . . . . . . . . . . . . . . . . B-38
2.3.6 Robot tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-40
2.4 Characteristic features of the RV-M1 robot . . . . . . . . . . . . . . . . B-43

B3 Robot drive units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-47


3.1 Drive motors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-51
3.2 Gears . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-57
3.3 Displacement encoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-60
3.4 Brakes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-67
3.5 Characteristic features of the RV-M1 robot . . . . . . . . . . . . . . . . B-67

B4 Open and closed loop control of industrial robots . . . . . . . . . . . B-69


4.1 Subsystems of the robot controller and their subfunctions . . . . B-70
4.2 Performance of a robot controller . . . . . . . . . . . . . . . . . . . . . . . . B-76
4.2.1 Point to point control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-77
4.2.2 Continuous-path control . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-80
4.2.3 Controller with adaptive closed-loop control . . . . . . . . . . . . B-82
4.2.4 Special functions of a controller . . . . . . . . . . . . . . . . . . . . . . B-84
4.3 Open and closed-loop control . . . . . . . . . . . . . . . . . . . . . . . . . . . B-85
4.4 Characteristic features of the RV-M1 robot . . . . . . . . . . . . . . . . B-89

B5 Programming of industrial robots . . . . . . . . . . . . . . . . . . . . . . . . . B-91


5.1 Requirements and classification . . . . . . . . . . . . . . . . . . . . . . . . . B-92
5.2 Design of a robot program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-92
5.3 Programming methods for industrial robots . . . . . . . . . . . . . . . . B-94
5.4 Characteristic features of the RV-M1 robot . . . . . . . . . . . . . . . . B-99

4
Table of contents Festo Didactic
BP70

B6 Safety systems . . . . . . . . . . . . . . . . . . . . . . . . . . B-107


6.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . B-108
6.2 Protective devices . . . . . . . . . . . . . . . . . . . . . . . B-109
6.3 Characteristic features of the RV-M1 robot . . . . . . . . . . B-113

Bibliography of illustrations . . . . . . . . . . . . . . . . . . . . . . . B-115

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-117

Section C: Solutions
Exercises
A 1 Assembly and reference point travel of the robot . . . . . . . . . . . C3
A 2 Basic functions of the Teaching Box . . . . . . . . . . . . . . . . . C-5
A 3 Positioning of the robot arm using the Teaching Box . . . . . . . . C-7
A 4 Basic functions of the programming software: Teaching mode . . . C-9
A 5 Basic functions of the programming software: On-line mode . . . . C-11
A 6 Automatic repositioning of workpieces . . . . . . . . . . . . . . . . C-15
A 7 Conditional repositioning of workpieces . . . . . . . . . . . . . . . C-21
A 8 Palletising . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-27
A 9 Program structuring using the subroutine method . . . . . . . . . . C-33
A10 Tick-tack-toe game . . . . . . . . . . . . . . . . . . . . . . . . . . C-39
A11 Movement in a smooth line . . . . . . . . . . . . . . . . . . . . . . C-49
A12 Simulation of paint spraying . . . . . . . . . . . . . . . . . . . . . C-55
A13 Continuous motion . . . . . . . . . . . . . . . . . . . . . . . . . . C-61

Section D: Appendix
Programming software . . . . . . . . . . . . . . . . . . . . . . . . . . . D-3
Connection of PC and drive unit . . . . . . . . . . . . . . . . . . . . . . D-6
Simulation of the Teaching Box . . . . . . . . . . . . . . . . . . . . . . . D-7
On-line mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-13
To edit a new program . . . . . . . . . . . . . . . . . . . . . . . . . . . D-14
To change an old program . . . . . . . . . . . . . . . . . . . . . . . . . D-15
To transfer a program . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-17
To transfer position data . . . . . . . . . . . . . . . . . . . . . . . . . . D-20

5
Table of contents Festo Didactic
BP70

6
Introduction Festo Didactic
BP70

Layout of the workbook

This workbook forms part of the Learning System for Automation and Com-
munication Technology of Festo Didactic KG. The book is intended for training
in seminars as well as for self-study.

The book is divided into:


• Section A: Course
• Section B: Fundamentals
• Section C: Solutions
• Section D: Appendix

Section A: Course
The course provides tuition on the subject of robotics through a number of
practical exercises. The contents of the exercises are harmonised in relation to
each other. Solutions to the exercises become more complex as you progress.
Although the exercises are set in a structured sequence, it is possible to carry
out any one of the exercises on an individual basis. Reference is made
throughout the text to the contents of the fundamentals section, which provides
additional in-depth information.

Section B: Fundamentals
This part contains the theoretical fundamentals on which the subject matter is
based. The subjects are arranged according to particular fields. The fundamen-
tals section can be studied chapter by chapter or used as a reference source.
An index is provided at the end to assist with the targeted search for specific
information.

Section C: Solutions
This part of the book contains the solutions to the exercises in Section A.

Section D: Appendix
The most important functions of the programming software for programming
Mitsubishi robot RV-M1 are described in the appendix.

7
What is robotics? Festo Didactic
BP70

What is robotics?

1. Some history If one considers the technical progress in the course of the millennia, one
could, in the extreme, say that this is due to the endeavours of mankind to find
ways and means of reducing work. The wish to hand over arduous or repeti-
tive actions to machines or devices dates back a considerable time. As long as
2000 years ago, procedures such as "set in motion" and "vary quantities" were
achieved by means of mechanically controlled, or even adjustable appliances.

Philon of Byzantium constructed an oil container about 230 B.C. which re-
placed the tedious refilling of lamps with oil by automatic topping up. Another
impressive example is the automatic closing of temple doors achieved by
Heron of Alexandria around 110 A.D. After lighting a sacrificial fire on top of a
(hollow) altar, the temple doors shut themselves on their own. This made skil-
ful use of the pneumatic effect from the temperature difference.

However, it was the ultimate dream of mankind to create something akin to


man: an "android" (literally: "human like"), which had to serve him. From sagas
and literature, we know of many attempts to build androids, or at least to
imagine them: Olympia the doll, Homunculus and, lastly, Frankenstein.

So-called robots But even working appliances of humanoid shape were built. At the end of the
18th century, the watchmakers’ craft achieved particular distinction in western
Switzerland. One should really speak of the art of watchmaking, for the mas-
tery of precision mechanics achieved at the time still evokes our highest re-
spect. Pierre Jaquet-Droz built three "androids" around the year 1770 in
Neuenburg: Dolls capable of putting entire sentences to paper by means of
writing quills. By changing an internal metal disk, other sentences could be
written; the device was, so to speak, "reprogrammable". Contemporaries ex-
pressed surprise and admiration for his work.

8
What is robotics? Festo Didactic
BP70

Fig. 1: Writing doll by Pierre Jaquet-Droz, from the 18th century Inside view of the doll

Apart from attempts to gain attraction at fairgrounds and popular festivals,


there were also pure deceptions, such as, for instance, an automatic chess
player by a certain Herr von Kempelen in 1783 which, in reality, concealed a
dwarf who moved the pieces.

9
What is robotics? Festo Didactic
BP70

The word "robot" The designation "Robot" has its root in the middle high German word "robat".
This has survived in Polish and in Czech as "robota" and means "hard labour".

In the year 1920, Karel Capek wrote the utopian stage play "Rossum’s
Universal Robots" in Prague. This gave the word "Robot" popularity. The
drama was almost an anticipation of modern science fiction: The robots seize
power, kill (nearly) all humans and destroy the secret of their construction.
Only with the re-awakening of human feelings is life afforded a new chance.

The first industrial robots Although human-like appearance is no criterion for design and application of
robots, there were often repeated attempts to create robots in human "image".
At the end of the "twenties", a robot called "Televox" was created in the U.S.A.
It supervised water containers, switched a pump, a light and also a ventilator.
It also opened and shut doors and windows, etc.

However, the human frame and muscular system are not suitable as a basis
for the design of robots. The human hand, alone, has 22 options of movement
which are largely independent of each other. It would be highly uneconomical
to try to recreate these. This is, however, not necessary, as any possible or
desired complex movement can be divided into rotations and translations (lon-
gitudinal displacements), and thus be carried out by means of much simpler
constructional arrangements.

The mid-sixties introduced the first industrial robots in the present day sense.
The American company Unimation launched "Unimax" on the market; see fig.
2. It was capable of executing simple motion sequences, e.g. to pick up work-
pieces with a tong-like device, and to rotate them. In addition, rotary move-
ments around one horizontal and one vertical axis were possible. One of the
first robots of this type was put to work in a Swedish foundry. It’s task was to
pick-up casting moulds from which poisonous fumes were escaping, and place
them into a cooling station.

10
What is robotics? Festo Didactic
BP70

Fig. 2: "Unimax", one of the first industrial robots of the ’sixties’.

11
What is robotics? Festo Didactic
BP70

2. Rationalisation Every kind of industrial production is subject to the same requirements: The
parts or products must be manufactured quickly, economically, and with uni-
form quality.

In this context, one initially thinks of the revolutionary introduction of a flow-line


conveyor in the American Ford works at the beginning of this century. How-
ever, in this instance only one among many operations was automated, i.e. the
transport of the cars on a conveyor belt during the construction process.

The workers always had to carry out the same basic manual operations, and
this, moreover, in line with the preset pace, i.e. the speed of the conveyor belt.
It can be questioned whether this constituted a decisive step forward in the
humanisation of the labour market.

With increasing mechanisation, other possibilities were also pursued: Individual


operations were carried out by appliances and the workers could limit their
intervention to the placing and removing of parts.

Automation should encompass conveying as well as processing/machining.


The aim envisaged is a factory hall devoid of human beings – definitely no
longer a utopia these days!

Economy When serially manufacturing a certain component, production costs are to be


reduced by various factors, including:
• large batch quantity and short cycle times
• high reliability of the manufacturing process
• constant high quality of the product.

Wage costs form a very important component of the analysis for economic
viability. Moreover, not too much can be expected of people having to carry
out monotonous and constantly repetitive operations. Even if one overlooks
these two factors, a machine controlled manufacturing process, merely super-
vised by humans, is still most likely to provide the best solution to the three
requirements just formulated.

12
What is robotics? Festo Didactic
BP70

By an automatic machine, one generally means a system in which a pro- Automation


grammed process runs more or less on its own, once it has been started.
Human intervention is then not necessary, either permanently or at a specific
rhythm.

The application of automation offers various advantages:


• technical
Persistently uniform quality, constant and higher working speed
• economical
Higher productivity, replacement of increasingly expensive human labour by
machines
• social
Relieving mankind of the burden of dirty, monotonous, hard or dangerous
activities.
The technical process of production can, in principle, be subdivided into the
following steps:
• Bringing in parts or materials
• Feeding to the processing station
• Manufacturing and assembling
• Checking, measuring
• Withdrawal from the processing station
• Ordering, storing
• Sending out.
From the above it follows that handling is a basic process; it occurs during all
transport steps, furthermore when feeding to and withdrawing from the pro-
cessing station, as well as in the course of assembly.

Among handling devices, one distinguishes between manual and machine con- Handling devices
trol; the latter can have a fixed program or be freely programmable.

Manually controlled:
• Manipulators
Manually controlled displacement units used primarily for handling oper-
ations, e.g. in laboratories with dangerous substances.
• Tele-manipulators
Remote controlled manipulators, e.g. for handling radioactive materials be-
hind protective walls.

13
What is robotics? Festo Didactic
BP70

Fig. 3: Using a tele-manipulator (here being tested) dangerous


handling operations can be carried out behind protective partitions.

Machine control:
• Fixed program
Feeding and inserting devices: Automatic displacement units, the motions
of which have fixed sequences and/or paths or directions, and run accord-
ing to a preset, fixed program which cannot be altered without mechanical
intervention. They are usually fitted with grippers and are used mainly for
handling operations.
• Freely programmable
Industrial robots: "..universally applicable automatic displacement units with
several axes, the motions of which are freely (i.e. without mechanical inter-
vention) programmable with regard to sequence of movement, paths or di-
rections, and which may be guided by sensors. They can be fitted with
grippers, tools or other means of production and are capable of carrying out
handling and/or manufacturing operations." (Definition as in VDI guideline
2860).

14
What is robotics? Festo Didactic
BP70

As already indicated, simple handling and certain processing steps have been
relatively easy to automate for quite some time, i.e. by means of pick and
place units.

That is why the largest cost savings can, at the present time, be achieved in
assembly, i.e. when putting together parts, or groups of parts. This stage so far
undergoes a lower degree of automation because fairly complex motions and
orientations are involved here.

Let us look at the example of screwing on a wheel during motor car assembly. Flexibility
Apart from the weight of the wheel, this assembly operation presents no prob-
lems to a worker. Yet it contains very complex patterns of movement. More-
over, the wheel must be applied in a certain orientation, so that the screws can
be easily inserted.

Shall we assume that an automatic machine has been designed and built es-
pecially for this task. The costs arising from this then have to be charged pro
rata to the production expenditure of all cars of the series concerned.

The automatic machine would have to be rebuilt, or even replaced, for the
production of a different model. It is obvious that such an undertaking is all the
more uneconomical, the more complex, and thus expensive, the automatic
handling or assembly machine was in the first place.

Furthermore, present day industrial reality is characterised by frequent


changes of series as a result of short innovation cycles. In many sectors, this
leads to lower batch quantities. Add to this the great individuality of consumer
goods (for instance the diversity of furnishing and equipment in passenger
cars).

For the production of a particular part, this means: It must be possible to react
quickly and economically to a request for change. Ideally, it should be possible
to modify each production line by simple reprogramming (naturally within cer-
tain limits only), to accommodate variants of the part concerned, or even other
parts.

Industrial robots offer such a possibility; for they, as opposed to automatic


machines with a fixed program, can be reprogrammed without mechanical in-
tervention, and can then execute other motion sequences.

15
What is robotics? Festo Didactic
BP70

3. The application of As a result of various fields of application, several designs of robots have been
industrial robots developed.

Cartesian robots The cartesian robot often resembles a loading or hall crane. However, the
hook is replaced by a longitudinally movable strut, the end of which is fitted
with a robot "wrist", which can be swivelled in all directions.

The hand of cartesian robots moves within a quadrilateral space; the operating
zone. Cartesian robots can be used, in the first place, for heavy loads, as the
gantry structure has high load bearing capacity. Gantry design also enables an
almost identical precision of movement within the entire operating space, which
makes it suitable for manipulating workpieces of large surface area.

Fig. 4: Cartesian robot for palletising stones

A8 Easily breakable stone blanks are accurately positioned on a pallet.

16
What is robotics? Festo Didactic
BP70

The structure of articulated arm robots can be compared to that of the human Articulated arm robots
arm, whereby the body can be equated to the first axis of the robot. Articulated
arm robots, while being very compact, permit access to a large spherical oper-
ating zone.

Articulated arm robots are used primarily for assembly operations. Their high
mobility and their compact design offer particular advantages in this field. Ar-
ticulated arm robots with more than three rotary joints can reach an identical
gripping position through different approach paths and with varied orientations.
They can circumvent obstacles, which makes them particularly suitable for as-
sembly operations inside motor vehicles.

Fig. 5: Robots as feeding devices for processing machines

Working in dirty environments polishing sinks. This robot was installed 10


years ago; it serves four polishing machines and also controls the injection of A6
polishing compound. Note that in this instance the workpiece (the sink) is
moved, not the tool.

17
What is robotics? Festo Didactic
BP70

SCARA robots Gantry robots have sliding displacement axes only, articulated arm robots
solely rotary axes. There are, of course, also hybrid designs, including e.g. the
SCARA robot (SCARA = Selective Compliance Assembly Robot Arm). These
are usually small low-cost robots, used particularly for instrument and ap-
pliance assembly (see Fig. 6). Inserting products into their packages also
forms a frequent application of SCARA robots.

Fig. 6: Attachment of ICs to circuit boards. For these small loads, a SCARA
robot is ideally suited.

18
What is robotics? Festo Didactic
BP70

The tool flanged to the robot’s ’wrist’ is, only in the rarest case, the well known Robot tools
tong shaped gripper. In most applications, the tool is specially designed for the
task to be accomplished: Vacuum suction units for handling smooth plates,
welding torches or electrodes for welding, nozzles for the application of ad-
hesives or sealants, paint spraying guns, drilling units, screw drivers, abrasive
cutting discs or blades, etc.

For complex assembly operations, the required tools are held in readiness in a
magazine, and the robot itself carries out the required tool changes.

Fig. 7: Tool changing system guided by a robot

The two flanges in the centre of the picture are secured by a complex coup-
ling. This also enables a faultless transmission of pneumatic and electrical
energy to take place.

19
What is robotics? Festo Didactic
BP70

Robot technology Industrial robots are integrated into the production sequence. For a typical as-
in the interplay between sembly operation in the automobile industry, the car body passes by slowly,
manufacture suspended from a conveyor. The industrial robot picks up the part to be fitted
and material flow from a feeding conveyor belt, or a magazine, and inserts it into the vehicle. As
a rule, this happens while the car moves steadily on.

It can be seen from this example, that the robot, on the one hand, has to
execute a complex motion sequence while, on the other, having to be syn-
chronised with the material flow system.

Where movement cannot be calculated precisely from the requirements of the


surroundings, sensors are used. For instance, the contours of the vehicle are
established through distance measurement systems. A movement correction of
the robot is calculated on the basis of the sensor data.

In complex cases, sighting systems are fitted, e. g. if the parts fed in are in
random orientation.

Fig. 8: Robot attaching wheels to automobiles

This operation is not quite so simple as it appears at first glance; for every
wheel must be offered up precisely orientated, so that the screws can be in-
serted into the holes. An image identification system (see left hand side) is
used for this. Similarly, any random displacement of the wheels supplied is
automatically detected by the robot’s sensors.

20
What is robotics? Festo Didactic
BP70

In the course of technical development, the innovations emerging within ro-


botics also benefited the design of other types of machine. Contemporary auto-
matic lathes and milling machines permit complex movements of workpiece or
tool, in no way inferior to those of a robot. Tool change, too, can be carried out
automatically.

Material flow systems have also become more flexible. Whereas conveyor
belts and suspension conveyors permit path branchings only at the cost of
great complexity, the track direction of automated vehicle conveyance systems
(AVCS) needs merely an induction loop buried in the floor. Where induction
loops cross over, the vehicle can change from one track to another. This is
solely a technological program step and there is no longer any need to switch
points.

Modern AVCS systems achieve even more than simple path deflection. With
the help of sensors, they can detect obstacles, undertake emergency turns and
are capable of coping with complete shunting procedures.

AVCS systems are not robots (even though they are closer to a robots’s
science fiction image than the usual industrial robot). In the interplay between
AVCS and sophisticated machine tools, robots might become superfluous.

Fig. 9: Automated vehicle conveyance system

A AVCS system, equipped with sensors for recognition of the surroundings and
an accurate displacement measuring system within the driving block requires
track guidance by means of an induction loop solely on long journeys. It can
automatically carry out manoeuvres on a confined space.

21
What is robotics? Festo Didactic
BP70

Examples of applications An industrial robot can be programmed for any movement within its operating
zone. It would, however, be nonsensical to employ the same type of robot
everywhere, for there are vast differences between the mechanical conditions
and requirements in the various fields of application.

The following are among the decisive criteria when selecting a type of robot:
• Dimensions of the operating space
• Size and weight of the parts to be moved
• Magnitude of the possible acceleration forces
• Desired accuracy of positioning
• Geometrical conditions in the operating space (e.g. obstacles in the zone of
motion, orientations of the workpiece or tool).
Meanwhile, the use of industrial robots pervades nearly all sectors of industry.
However, as before, the motor car industry remains in the lead.

The following examples are provided to supplement those already mentioned.

Fig. 10: Spot welding by robots

This type of welding has been carried out by robots for some time. With point-
to-point control (PTP control) of the robot, only the working points are input,
and the computer automatically establishes the path through which the gripper
arrives at them. Here, two wheel hubs are being welded simultaneously. Wheel
hubs, newly inserted for the next operation, can just be seen at the front and
back.

22
What is robotics? Festo Didactic
BP70

Fig. 11: Robot applying car undersealing

Painting and similar activities, involving the application of coatings to surfaces,


is among the first operations carried out by robots. The robot has several rota-
tional axes; that is why its gripper arm with the spray gun is very mobile within
the operating zone and can readily be guided around obstacles. The key to
this is ’continuous-path control (CP control)’. For instance, using the so-called
Play-Back method, the paint sprayer initially carries out one entire motion cycle
with the robot arm. During this procedure, the path data are memorised by the
robot’s computer.

23
What is robotics? Festo Didactic
BP70

Fig. 12: Robot used in quality control

The circuit boards are placed into a test rig and – depending on the result of
the test – conveyed to the packaging, or to the repair station. The robot has
lateral displacement axes as well as rotary axes.

Fig. 13: Robot used in the food and drink industry

This "Unimate" type robot is used in a Swiss company to palletise bundled


packages.

24
What is robotics? Festo Didactic
BP70

In recent years, the use of sensors for displacement, distance, force and 4. Perspectives
pressure has made possible decisive progress in handling technology. By
using such sensors, one avoids the necessity of always having to program the
movement of the robot arm with great accuracy; instead it may become largely
self-regulatory through the mechanical conditions. This makes it possible to
tolerate small deviations – for instance as far as the feeding of components is
concerned.

A further significant improvement becomes possible through image processing.


An ideally automated production step would include removing the items from a
container. The robot withdraws the required part from the magazine with its
gripper and conveys or fits it. Even with parts of relatively simple shape, ran-
domly placed in the magazine, this is not so easy to achieve. Insufficient
image contrast at the edges of the parts can, alone, lead to problems.

Solving this is based on the following principle: The basic pattern of the part
concerned is memorised beforehand and the robot’s computer now compares
the pattern encountered (e.g. the position of the holes in the car wheel) with
the input pattern. Then the part is rotated until the patterns match; now fitting
can take place without problem. This does, however, presuppose that the
wheels to be fitted are, for instance, fed lying flat. With parts of irregular shape,
the orientation in the third dimension must also be recognised; this calls for
significantly more sophisticated computer intervention.

The latest and still rapidly advancing development is characterised by the


buzzword "Cyberspace". The computer operator interface has passed through
5 generations todate: Programming by hand on the control panel, punched
card stack, terminal operation, menu systems, graphics.

Cyberspace belongs to the next, sixth generation. It offers the user a stereo-
scopic representation of three dimensional (real or virtual) objects. Cybernetic
feed-back and control takes place: If the user alters his direction of viewing,
he sees – as in real life – the object from another direction. One refers to this
also as three dimensional interaction experience. This enables any simulation
to take place, so-called "virtual reality".

It stands to reason that, given steadily improving computer performance,


cyberspace will lead to revolutionary innovations also in the use of robots.

25
Notes for users Festo Didactic
BP70

Notes for users

Safety recommendations An industrial robot, RV-M1, from Mitsubishi Electric, Europe, is used for train-
ing in robotics. The instructor is to ensure that the trainees are made aware of
the specific dangers involved whilst an industrial robot is in motion. At this
point we should particularly like to draw your attention to VDI guideline 2853,
"Safety requirements".

Furthermore, mention should be made of the following recommendations cur-


rently available in the German speaking part of Europe:
VDI 2860 Assembly and handling technology
Handling functions and equipment:
Terms, definitions, symbols
VDI 2861 Assembly and handling technology
Characteristic data for industrial robots
Sheet 1 Axis designations
Sheet 2 Application-specific characteristic data
Sheet 3 Checking the characteristic data
VDI 2863 IRDATA
Sheet 1 General structure, composition types and transmission
DIN 44300 Information processing
Part 1 to Part 9
DIN 66201 Process computing system
Part 1 Terms

This list is not complete. However, the standards named underline the import-
ance of electronic data processing, its methods and terms, within the scope of
training in robotics.
Any local recommendations in the country of usage must also be considered.

Programming software Fundamental functions of the programming software from Mitsubishi Electric,
necessary for carrying out the exercises, are described in appendix D.

Hardware The hardware for training package: Fundamentals of robotics, makes it


possible to learn basic methods of operating a robot system. The principal
piece of equipment is the 5-axes articulated arm robot RV-M1 with controller
and Teaching Box. The controller is supplied with a comprehensive manual.
This fully describes the mechanics of the robot’s system. In addition, there is a
chapter which lists all commands for programming the robot.

26
Notes for users Festo Didactic
BP70

This robot system has been enlarged by peripheral equipment, with which a
motivating learning environment can be created for the trainee. Among other
things, this enables you to:

• Carry out installation and commissioning

• Practise fundamental modes of behaviour in an EMERGENCY-STOP situ-


ation

• Plan, program and execute handling steps such as the re-arrangement and
palletising of cylindrical workpieces

• Simulate machining processes with linear path by means of the model tool.

In addition, simple exercises with the simulation box create a basis for under-
standing the data exchange within a complex robot cell: Modern industrial
robot controllers monitor sequences via sensors, control cylinders and other
actuators, receive signals from master computers and transmit status informa-
tion to these.

Parts list
Qty. Order Description Designation
No.

1 151440 ROBOT RV-M1 D.MP-M-RV-M1

1 151441 DRIVE UNIT D.MP-M-D/U-M1-220V

1 151442 TEACHING BOX D.MP-M-T/B-M1

1 151443 GRIPPER RV-HM01 D.MP-M-E-DC-HAND-M1

1 151444 GRIPPER JAWS D.MP-B-GRB-RV-M1

1 151445 ADAPTOR PLATE D.MP-B-ZP-RV-M1

1 151446 SIMUL. BOX 220V D.MP-M-SB-RV-220V

1 151431 RETAINER, WORKP. D.MP-B-ME-HW-40-B

1 035667 TOOL SET, MAGAZ. D.MP-B-ME-40-25-RT

1 151447 EMERGENCY-STOP SWITCH D.MP-B-NAS-BP70

1 151448 PALLET D.MP-B-P-BP70

1 151449 TOOL MODEL D.MP-B-WZM+H-BP70

1 008329 ADAPTOR PLUG E.ZST-PD-V

1 115604 DATA CABLE V24 D.AS-KA-V24-25P/9P

27
Notes for users Festo Didactic
BP70

Concept of an In the workbook, particularly in the exercise section, great emphasis has been
individual exercise placed on providing a close link with industrial practice. Each exercise contains
a problem description which describes a practise related situation. On the
basis of these accounts of practical situations the functions and tasks of the
industrial robot are then applied to our learning system.

Problems The motivation derived through the problem definitions is therefore not just
based on the training content of the accepted syllabi for training in handling
technology and robotics.

Apart from the affinity with industrial practice, the exercises also fulfil another
purpose: The problems are formulated in such a way that they stimulate the
trainee into developing strategies for problem solving. The problem therefore
has to be analysed, and the trainee has to find an appropriate means of solv-
ing the problem.

During the process of analysis of the problem, trainees are not left to their own
devices, but are supported with additional questions which help them along the
way. It is, therefore, also important to observe, that the individual questions are
not to be answered in isolation from the specific problem. As a rule, they can
be answered only with the help of the practical training environment. The pur-
pose of these questions is to assist trainees in their quest for a solution, but
not that of making them answer the question by pure deduction.

Additional facilities Solution of the problems is made possible by additional facilities. These fa-
cilities include the worksheets with the positional sketches, position tables and
program sequence plans.

These facilities are primarily of assistance during the planning stage. The trai-
nee commences by establishing the positions within the operational space by
means of the positional sketches. The position numbers and comments are to
be entered into the position table. The positional sketch and the position table
constitute important technical documentation for subsequent commissioning
and possible fault finding.

The program sequence plans outline the way the trainee is to proceed in the
operation of the robot system during the initial exercises. From exercise 6
onward, they form the foundations for programming the handling tasks of the
robot.

28
Notes for users Festo Didactic
BP70

In the case of the practical training situations, the instructor should decide on
how he intends to use the program sequence plans; either with text or without
text. If the trainees are not provided with any text data, they can create a
program individually. In that case the solution detailed in Section C merely
serves as an example.

The section "Practical implementation" provides the instructor with a quick Practical implementation
overview of the way a solution is to be obtained. Moreover, it is intended as an
aid to trainees requiring additional support.

As this section commences on an uneven numbered page, the instructor can


decide in the case of each exercise, as to whether the trainee is to receive
only the problem definition together with the problem description and work-
sheets, or also the section "Practical implementation" as an additional aid.

The solution part in Section C briefly summarises the way in which the solution Solution part
is achieved. Moreover, questions are answered by way of examples and the
worksheets are drawn up for the RV-M1 robot which was used in the develop-
ment of this workbook.

Section A: Course, contains exercise 10, which involves playing the well Layout of the collection
known game tick-tack-toe. Two players take it in turn to place red and black of exercises
pieces on to a board (pallet). The idea of the game is for the player to arrange
the pieces of his colour in one line on the board.

The industrial robot takes on all handling functions. All that the players have to
do is to use the simulation box to indicate the position on the pallet where the
pieces must be placed.

Carrying out this exercise imparts a basic understanding of the operating


method of an industrial robot within a flexible manufacturing environment. The
following scenario can easily be imagined:

Driverless transport installations serve a robot cell. Identification systems on


the components fed in contain information as to which processing units have to
be supplied with these components. After processing, the robot deposits the
parts on a pallet, following which they are collected again by the transport
devices.

The exercises are built on one another, and the degree of complexity in-
creases with each subsequent exercise. Exercise 10 is the most demanding
and embodies the learning contents and methods which have been developed
and practised step by step in the previous exercises.

29
Notes for users Festo Didactic
BP70

Table of contents, index and notes in the text assist the actual process of
working through the "Fundamentals of Robotics".

References in the exercise section relate to chapters in the section on fun-


damentals. This is where the practical interactions are explained in detail. Ref-
erences in the fundamentals section refer to the exercise number in the course
section A.

The index at the end of the fundamentals section permits targeted accessing
of information. The respective key words are printed in italics in the fundamen-
tals section.

In conclusion it should be pointed out that the workbook merely offers a cross-
section of the range of functions and possibilities of the robot. The following list
may give an idea of subjects which the instructor may also wish to deal with:

• Setting the reference position in the cartesian coordinate system


(Chapter 5 APPENDICES; Section 4)

• Adjusting tool length


(Chapter 2 OPERATION; Section 5.2)

• MAINTENANCE AND INSPECTION


(Chapter 4)

• Centronics interface for personal computers


(Chapter 5 APPENDICES; Section 5.1)

The data in parentheses refers to the instruction manual for the Mitsubishi
RV-M1 robot.

30
Course Festo Didactic
BP70
A

Course

Exercises
A 1 Assembly and reference point travel of the robot . . . . . . . . . . A-3
A 2 Basic functions of the Teaching Box . . . . . . . . . . . . . . . . . A-9
A 3 Positioning of robot arm using the Teaching Box . . . . . . . . . . A-15
A 4 Basic functions of the programming software: Teaching mode . . . A-21
A 5 Basic functions of the programming software: On-line mode . . . . A-27
A 6 Automatic repositioning of workpieces . . . . . . . . . . . . . . . . A-35
A 7 Conditional repositioning of workpieces . . . . . . . . . . . . . . . A-43
A 8 Palletising . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-51
A 9 Program structuring using the subroutine method . . . . . . . . . . A-59
A10 Tick-tack-toe game . . . . . . . . . . . . . . . . . . . . . . . . . . A-69
A11 Movement in a smooth line . . . . . . . . . . . . . . . . . . . . . A-79
A12 Simulation of paint spraying . . . . . . . . . . . . . . . . . . . . . A-87
A13 Continuous motion . . . . . . . . . . . . . . . . . . . . . . . . . . A-95

A-1
Course Festo Didactic
BP70
A

A-2
Exercise sheet Festo Didactic
BP70
A1

Fundamentals of robotics Subject

Assembly and reference point travel of the robot Title

• To familiarise yourself with the instruction manual of the RV-M1 robot. Training aims

• To be able to assemble a robot system with the help of an assembly drawing.


• To be able to control the reference point travel of a robot.
• To be able to operate the EMERGENCY-STOP devices.

The robot system consists of a 5-axis articulated arm robot RV-M1 by Mitsubi- Technical knowledge
shi Electric Europe with gripper, drive unit, teaching box, simulation box plus
the accompanying robot peripherals. The intermediate plate connects the base
of the robot to the profiled assembly plate and secures it from toppling over or
moving. The EMERGENCY-STOP switch is easily accessible at the front of
the assembly plate.

The robot is to move to its point of reference immediately the mains voltage is Problem description
switched on in order for its mechanism to be synchronised with the displace-
ment encoder of the drive unit of the robot. This reference point travel is also B 3.2.3
known as nest travel.

The head of department of an industrial concern has purchased an industrial


robot for the quality assurance department. It is the responsibility of the indus-
trial engineer for production technology to receive the equipment and assemble
it for a functional test.

Fig. 1/1: The RV-M1 industrial robot

A-3
Exercise sheet Festo Didactic
BP70
A1

Problem Assemble the robot system which comprises the Mitsubishi industrial robot RV-
M1 and perform the nest travel i.e. reference point travel.

Where are the three EMERGENCY-STOP switches fitted?

________________________________________________________________

________________________________________________________________

________________________________________________________________

What happens when you press one of the three available EMERGENCY-
STOP switches?
What steps do you need to carry out in order to resume working with the
robot?

________________________________________________________________

________________________________________________________________

________________________________________________________________

A-4
Exercise sheet Festo Didactic
BP70
A1

• Instruction manual (Chapter 1 and Chapter 2) Auxiliary materials

• Positional sketch
• Program flow chart

1100
55

700

Fig. 1/2: Positional sketch

A-5
Exercise sheet Festo Didactic
BP70
A1

START

Mains switch
on

ST 1 up

Teaching-Box Mains switch


on off

Nest travel:
NST
ENT

EMERG.- yes
STOP
?
no

Fig. 1/3: Program flow chart

A-6
Exercise sheet Festo Didactic
BP70
A1

An instruction manual has been enclosed with the drive unit of the robot. In Practical implementation
this you will find all the necessary descriptions and explanations regarding the
robot system. Carefully study page 1-15 in Chapter 1 SPECIFICATIONS.
Please note the positions of the toggle switches ST1 and ST2.

Chapter 2 OPERATION describes the rules of procedure regarding transport-


ation of the robot (Section 1.1; page 2-1) and illustrates the connection of the
interconnecting cable between the robot and the drive unit (Section 1.6; page 2-6).

Eight screws are provided with the intermediate plate. Use the T-head nuts to
place the intermediate plate in position on the profile plate. The base of the
robot is then screwed to the intermediate plate.

Please note that in accordance with regulations applying to safety devices, an


external EMERGENCY-STOP switch must be mounted on the front of the
profile plate. This is to be connected to the EMERGENCY-STOP control circuit
of the drive unit. The connection to the drive unit is illustrated on page 2-10 of
the manual.

DRIVE-UNIT

EMERGENCY-STOP
switch

Fig. 1/4: Mounting of the EMERGENCY-STOP switch on the profile plate plus
circuit diagram

Use the teaching box for controlling reference point travel. You will need to
execute one reference point travel or nest travel every time the robot system is
switched on. Use the program flow chart Fig. 1/3 for reference.

Pages 2-11, 2-42 and page 4-3 in Chapter 4 MAINTENANCE AND INSPEC-
TION contain important information concerning the EMERGENCY-STOP.

Only with the help of these notes will you be able to find out about the signifi-
cance of the LEDs and to proceed in accordance with the given instructions
under paragraph error elimination. This also describes how to switch the buzz-
er on and off.

A-7
Exercise sheet Festo Didactic
BP70
A1

A-8
Exercise sheet Festo Didactic
BP70
A2

Fundamentals of robotics Subject

Basic functions of the Teaching Box Title

• To be able to control a robot arm using the Teaching Box. Training aims

• To be able to control a robot in various traversing modes.


• To be able to differentiate between PTP, XYZ and tool mode.
• To be able to operate the effector of the robot.

The teaching box is the handling device for the industrial robot. With the teach- Technical knowledge
ing box you can move the robot arm both in PTP, XYZ as well as in tool mode.

In PTP mode, you control the movement of the individual axes of the robot. In
XYZ mode you travel the robot arm parallel to the axes of the basic cartesian
coordinate system. In Tool mode, you travel the effector along the axis, which
B 2.3.4
is vertical to the area of the tool flange.

During commissioning of the robot, a visiting trainee expresses a keen interest Problem description
in the robot system and asks you to demonstrate to him how you can move
the robot.

ON OF F EM G. ST OP
Switc h for Key for
O N/ O FF E M ERG E NCY - STO P
func tion function

RV-M1 TEACHING BOX


7-segment display

X X
INC DEC
B B
Y Y
P. S P. C
Keypad for S S Keypad for
program NST ORG
Z Z
motion
4E 4E
functions functions
P P
TRN WRT
3 8
R R
M O V STEP
2 7
OPTION OPTION
PTP XYZ
1 6
O C
E N T TOOL
0 5

MI TSUBISHI
Key for
E NTE R
function

Fig. 2/1: Teaching Box of the RV-M1

A-9
Exercise sheet Festo Didactic
BP70
A2

Problem Move the robot arm in the three possible traversing modes with the help of the
teaching box.

Which traversing mode do you choose, if you want to move the robot arm as
fast as possible?

________________________________________________________________

________________________________________________________________

________________________________________________________________

Which traversing mode do you choose, if you want to position the robot arm
accurately?

________________________________________________________________

________________________________________________________________

________________________________________________________________

How is the basic coordinate system orientated?

________________________________________________________________

________________________________________________________________

________________________________________________________________

A-10
Exercise sheet Festo Didactic
BP70
A2

Give an example of an application in tool mode.

________________________________________________________________

________________________________________________________________

________________________________________________________________

Which keys do you press to actuate the motor-operated gripper?

________________________________________________________________

________________________________________________________________

________________________________________________________________

• Instruction manual (Chapter 2, Section 2.2) Auxiliary materials

A-11
Exercise sheet Festo Didactic
BP70
A2

A-12
Exercise sheet Festo Didactic
BP70
A2

The robot is positioned at its reference point. Practical implementation

Consult page 1-13 of the manual regarding the position of the individual axes
of the RV-M1.

Select the PTP mode by pressing the keys

PTP

ENT
on the Teaching Box.

Move the axes of the robot arm in sequence using the keys in the section for
motion functions.

Key for positive Key for negative Description of Joint


motion direction motion direction axis Axis
(anti-clockwise) (clockwise)

B+ B- Body J1

S+ S- Shoulder J2

E+ E- Elbow J3

P+ P- Pitch J4

Table 2/1: Teaching Box key allocation for PTP mode

Select the XYZ mode by pressing the keys

XYZ

ENT
on the Teaching Box.

A-13
Exercise sheet Festo Didactic
BP70
A2

Move the robot arm using the keys in the motion function section.

Then move the robot arm in such a way that the gripper points downwards at
an angle whilst at the same time testing the handling of the PTP and the XYZ
modes.

Select the tool mode by pressing the keys

TOOL

ENT
on the Teaching Box

Move the robot arm:

Key for positive Key for negative


motion direction motion direction
Z+ Z-

Table 2/2: Teaching Box key allocation for Tool mode

Tool mode is the traversing mode which moves the gripper along the axis
which is positioned vertically on the surface of the tool flange.

Open and close the gripper by pressing keys <O> and >C<.

A-14
Exercise sheet Festo Didactic
BP70
A3

Fundamentals of robotics Subject

Positioning of the robot arm using the Teaching Box Title

• To be able to position a robot arm using the Teaching Box. Training aims

• To be able to control a robot in single steps.


• To be able to define, check, change and delete position numbers.

Apart from approaching of positions, storing and deleting of positioning data Technical knowledge
also forms part of the basic functions of the Teaching Box. A position is stored
under a position number and contains the angular positions of the five axes of B 5.2
the robot. The keys for the position numbers are on the keypad for motion
functions. The positions within the operational space can then be approached
point-by-point in any sequence desired by means of the position numbers.

In a plant, positioning tasks are to be carried out by a robot. The tools in Problem description
question are cylindrical in shape and are to be repositioned from one position
to another. A skilled worker in production technology has been instructed to
design and program this positioning task.

ON OF F EM G. ST OP
Switc h for Key for
O N/ O FF E M ERG E NCY - STO P
func tion function

RV-M1 TEACHING BOX


7-segment display

X X
INC DEC
B B
Y Y
P. S P. C
Keypad for S S Keypad for
program NST ORG
Z Z
motion
4E 4E
functions functions
P P
TRN WRT
3 8
R R
M O V STEP
2 7
OPTION OPTION
PTP XYZ
1 6
O C
E N T TOOL
0 5

MI TSUBISHI
Key for
E NTE R
function

Fig. 3/1: Teaching Box of the RV-M1

A-15
Exercise sheet Festo Didactic
BP70
A3

Problem The robot is to reposition a workpiece from workpiece carrier A to workpiece


carrier B.

Assemble the workpiece carrier on the profile plate, if necessary.

Please note:

It should be possible for the robot to approach a wait position safely at any
time.

An approach position is in the proximity of a position, in which the gripper grips


or releases a workpiece. It should be possible to move to an approach position
from a wait position without any danger of collision.

Which functions of the Teaching Box are missing in the program flow
chart Fig. 3/3?

________________________________________________________________

________________________________________________________________

________________________________________________________________

Auxiliary material • Instruction manual (Chapter 2, Section 2.2)


• Positional sketch
• Program flow chart

A-16
Exercise sheet Festo Didactic
BP70
A3

2/5

3/4

A
1=10

B
6/9

7/8

Fig. 3/2: Positional sketch

A-17
Exercise sheet Festo Didactic
BP70
A3

START

Approach Move
spatial position robot arm

Check no Position no
carried out o.k.
? ?
yes yes

Approach
new spatial
position

Fig. 3/3: Program flow chart

A-18
Exercise sheet Festo Didactic
BP70
A3

The robot is positioned at its reference point. Practical implementation

Consult Chapter 2 OPERATION, Section 2.2 in the manual regarding the


meaning

P.S. , P.C. ,

MOV , INC , DEC ,

ENT

Check the following instructions against the positional sketch Fig. 3/2.

Move the robot in PTP mode from its reference point into a position in which
the robot arm is positioned centrally above the profile plate. Store this position
under position number 1.

This position is known as the wait position due to the fact that in this position it
should be possible for the robot arm to reach any point on the profile plate
without any possible collisions.

Move the robot to workpiece carrier A. Please note that the height of the work-
piece is 40 mm. The position which is approximately 40 mm above position A
is described as the approach position. Store this position under position num-
ber 2.

This position is known as the approach position due to the fact that it can be
approached safely from the wait position.

Now check whether you have defined the positions correctly. Use the MOV
function to do this. If the position has been correctly defined then the robot
moves to the required position.

Move the robot arm vertically downwards from position 2 so that the workpiece
is exactly between the gripper jaws. Select XYS mode to do this and travel the
robot arm in the negative Z-axis. Store this position under position number 3.

Close the gripper in position 3 and store this position under number 4.

Position 3 and 4 differ merely as far as as the type of gripper position is


concerned.

Position 5 corresponds with position 2 with regard to position, however, the


gripper is closed.

A-19
Exercise sheet Festo Didactic
BP70
A3

Now select PTP mode and move the robot to workpiece carrier B. When the
robot arm with the workpiece is approximately 40 mm above the workpiece
carrier, you store this position under position number 6.

Select XYZ mode and move the robot in the negative Z-axis so that the work-
piece touches down on the workpiece carrier. Store this position under position
number 7.

Open the gripper and store this position under position number 8.

Move up approximately 4 mm in XYZ mode and store the position under pos-
ition number 9.

Move to wait position 1 and store this position under number 10.

Now deposit the workpiece on workpiece carrier A and move the robot arm to
the wait position = position 1. Then execute the stored positions in single step
mode by pressing keys

INC

ENT

Carry out the motion sequence in reverse by approaching the previous pos-
itions starting from position 10. Press the following keys repeatedly

DEC

ENT
until the robot has reached position 1 again.

A-20
Exercise sheet Festo Didactic
BP70
A4

Fundamentals of robotics Subject

Basic functions of the programming software: Teaching mode Title

• To be able to set the parameters of the serial interfaces. Training aims

• To be able to operate the Teach-In Box of the programming software.


• To establish the maximum motion space of the rotational axes.

Data transmission between the personal computer and the drive unit operates Technical knowledge
by means of a serial interface. In order to ensure error-free communication,
both users must be configured at the same values of the interface parameters.
The parameters are: Baud rate, data bits, stop bits, parity.

A robot works perfectly within a production line. Due to market demands, man- Problem description
agement has decided to modify the production line. New programs will have to
be written and tested for the new operating area of the robot. Furthermore, it
will be necessary to check whether the kinematics of the robot and its oper-
ational space are compatible with the changed production conditions. At the
development stage, the programs are written off-line on a personal computer.
These programs are then loaded to the robot controllers via serial interfaces or
the installed communications networks.

Fig. 4/1: Setting of the interface parameters

Select ’Serial interface’ in the "Setup" mode. Use the Tab key to access the
dialogue box "Baud rate" and the space bar to select a specific value for the
baud rate. Please observe the change in the DIP switches.

A-21
Exercise sheet Festo Didactic
BP70
A4

Problem Check the data regarding maximum motion space of the rotational axes, which
is specified on page 1-9 of the manual under Chapter 1 SPECIFICATIONS.
Use the Mitsubishi programming software for assistance.

Configure the serial interface if necessary

How do you access the "Teach-In Box" menu ?

________________________________________________________________

________________________________________________________________

________________________________________________________________

Which six blocks of the dialogue boxes can you recognise in the "Teach-In
Box" menu?

________________________________________________________________

________________________________________________________________

________________________________________________________________

In which traversing mode do the rotational axes of the robot move?

________________________________________________________________

________________________________________________________________

________________________________________________________________

A-22
Exercise sheet Festo Didactic
BP70
A4

How can you change the step width of the pulses for moving rotational axes?

________________________________________________________________

________________________________________________________________

________________________________________________________________

• Instruction manual (Chapter 1) Auxiliary material

• Table

Teach-In Name 0.1˚ 1.0˚ 10.0˚ 30.0˚ Total

Waist Waist
Shlder Shoulder
Elbow Elbow
P Pitch
R Roll

Table 4/1: Motion space of rotational axis

A-23
Exercise sheet Festo Didactic
BP70
A4

A-24
Exercise sheet Festo Didactic
BP70
A4

The robot is positioned at its reference point. Practical implementation

Start up the programming software. You will find a description of this software
in Appendix D. Acknowledge the initial messages by pressing the return key.

In order to ensure error-free communication via the RS-232C serial interface,


the ports of both users must be configured to the same parameters. These are
set with the help of DIP switches on the drive unit. The port of the personal
computer is configured with the help of the programming software.

The menu for setting the interface parameters provides a graphic illustration of
the positions of the DIP switches. Moreover, Chapter 5 APPENDICES, Sec-
tion 2.3 of the manual explains the setting on the drive unit. The underlined
data refers to the standard settings specified by Mitsubishi Electric.

Next change to Edit mode and actuate the menu "Teach-In Box".

The upper dialogue box contains the cartesian coordinates X,Y,Z and the
angles of the pitch of the hand joint and the rotation of the hand.

In order to measure the axes, you have to count the number of pulses per
value of the selected step size. Enter the number of pulses in Table 4/1.

A-25
Exercise sheet Festo Didactic
BP70
A4

A-26
Exercise sheet Festo Didactic
BP70
A5

Fundamentals of robotics Subject

Basic functions of the programming software: On-line mode Title

• To be able to design a positional sketch for positions. Training aims

• To learn procedures to avoid collisions.


• To be able to move the robot in On-line mode.

To avoid collisions, the motion of the robot can be stopped by means of the Technical knowledge
EMERGENCY-STOP keys. This then triggers error mode I. If the robot arm
collides with an obstacle, then the motors are switched off thanks to an over- B 6.2
load protection and two brakes stop axes 2 and 3. This also triggers error
mode I.

In order to avoid collision it is furthermore important to teach the wait and the
approach positions in a suitable configuration. It should be possible to ap-
proach the wait positon from any position.

In an assembly works for automobiles the windscreen is installed by means of Problem description
an industrial robot. However, because a number of production devices project
into the operational space of the robot, the assembly task has to be executed
in a particular trajectory.

A skilled industrial worker in the planning department has been assigned the
task of designing this collision-free motion sequence and to carry out a test
run.

Fig. 5/1: Fitting of a windscreen

A-27
Exercise sheet Festo Didactic
BP70
A5

Problem The robot is to grip the workpieces lying at the side of the workpiece carriers
and to position these on the workpiece carriers.

Teach the positions with the help of the programming software. Use the On-
line mode and the Teach-In box.

How can you avoid possible collisions with the workpiece carriers?

________________________________________________________________

________________________________________________________________

________________________________________________________________

How do you access the menu "On-line box"?

________________________________________________________________

________________________________________________________________

________________________________________________________________

Which handling tasks are missing in the program flow chart of Fig. 5/3?

________________________________________________________________

________________________________________________________________

________________________________________________________________

________________________________________________________________

Auxiliary material • Instruction manual (Chapter 3)


• Positional sketch
• Table of positions
• Program flow chart

A-28
Exercise sheet Festo Didactic
BP70
A5

Fig. 5/2: Positional sketch of robot cell

A-29
Exercise sheet Festo Didactic
BP70
A5

Pos. No. Comment

Table 5/1: Table of positions

A-30
Exercise sheet Festo Didactic
BP70
A5

START

Approach
wait position

Approach
wait position

Approach
wait position

END

Fig. 5/3: Program flow chart

A-31
Exercise sheet Festo Didactic
BP70
A5

A-32
Exercise sheet Festo Didactic
BP70
A5

The robot is positioned at its reference point and the program software has Practical implementation
been loaded.

Read Chapter 3 COMMANDS of the manual regarding descriptions of the fol-


lowing commands:

NT, DW, MP, HE,


MO, IP, DP,
GO, GC.

Teach the appropriate wait positions and store these under position number 1.
It should be possible to approach the wait position from any possible taught
positions. Use the commands in the On-line box. Make sure that appropriate
positions have been taught in the case of commands IP and DP.

Teach any other positions in accordance with the positional sketch and the
relevant positions table using either the teaching box or the Teach-In box of
the programming software.

Take care to avoid possible collisions. Please note that the On-line function of
the programming software only functions when the teaching box is switched
off.

A-33
Exercise sheet Festo Didactic
BP70
A5

A-34
Exercise sheet Festo Didactic
BP70
A6

Fundamentals of robotics Subject

Automatic repositioning of workpieces Title

• To be able to design and program a sequential program. Training aim

• To be able to text a handling sequence in step operation.


• To be able to alter the speed of motion of the robot arm.
• To be able to program a timer.

Structured programming begins with an analysis of the handling task. This Technical knowledge
analysis produces a number program modules, which are logically arranged in
a program flow chart. The coding of the program modules with the help of the
commands of a programming language then represents the actual programm-
ing.

Each programming language provides a basic frequency for the programming


of a timer. In the case of the Mitsubishi programming software, this basic fre-
quence, i.e. the smallest programmable time interval, is 0.1 second.

Stainless steel sinks are polished in one of the production cells of an assembly Problem description
plant. Ten different types of sinks are fed to various polishing machines by an
industrial robot. The robot removes a sink from a stack of "blanks" and guides
it towards a particular polishing machine. After processing, it deposits the part
on a "finished" stack and picks up a new "blank".

Fig. 6/1: Industrial robot serving several polishing machines

A-35
Exercise sheet Festo Didactic
BP70
A6

Problem The industrial robot is to reposition the workpiece from workpiece carrier A to
workpiece carrier B and then to return to the wait position.

After four seconds, the robot is to return the workpiece from workpiece carrier
B to workpiece carrier A.

The robot is to perform the motions with the workpiece at a lower speed than
those without a workpiece.

How many positions do you have to teach?

________________________________________________________________

________________________________________________________________

________________________________________________________________

What function does the programming of a timer or a time element have?

________________________________________________________________

________________________________________________________________

________________________________________________________________

How do you access the "Edit" menu?

________________________________________________________________

________________________________________________________________

________________________________________________________________

Auxiliary materials • Instruction manual (Chapter 3)


• Positional sketch
• Table of positions
• Program flow chart

A-36
Exercise sheet Festo Didactic
BP70
A6

Fig. 6/2: Positional sketch

A-37
Exercise sheet Festo Didactic
BP70
A6

Pos. No. Comment

Table 6/1: Table of positions

A-38
Exercise sheet Festo Didactic
BP70
A6

START

Set speed to
maximum and
approach
wait position

Approach wait
Approach
position and
wait position
wait 4 seconds

END

Fig. 6/3: Program flow chart

A-39
Exercise sheet Festo Didactic
BP70
A6

Program form

Step No. Command Operands Comment Step No. Command Operands Comment

A-40
Exercise sheet Festo Didactic
BP70
A6

The robot is at its reference position and the programming software has been Practical implementation
loaded.

Refer to Chapter 3 COMMANDS of the manual for descriptions of the following


commands:

MO, SP, TI, RN.

In contrast with step operation using the teaching box, the status of the gripper
is not critical with regard to the positions to be taught in the automatic oper-
ation using the PC.

The programming software contains the commands for moving the robot arm,
which contain the status of the gripper in the form of an operand. For example:

10 MO 2[,C]
or
20 MO 2[,O]

The standard setting is O: Gripper open.

The speed of motion of the robot arm is to be defined using the command SP,
e.g.

10 SP 5 [,H]

The first operand can assume a value between 1 and 9 and is the percentage
of the maximum speed of 1000 mm/s.
The second operand is a time value, which can assume two values :
H (= high) and L (= low) and determines both the acceleration time as well as
the braking time of the motion from one point to the next. The standard setting
for speed and the ramp times are:

SP 4, L

The delay time of 4 seconds is to be programmed by means of the command:

10 TI 40.

The time factor is 0.1 seconds.

A-41
Exercise sheet Festo Didactic
BP70
A6

When you have written the program and taught the position, the program is to
be loaded in to the robot controller.

If the syntax check of the interpreter fails to detect any errors, then the pro-
gram can be executed step-by-step in the On-line box mode; e.g. program
execution starts at line 10 and ends with program line 20:

RN 10, 21.

???

RN

without any other operands starts the complete program.

If necessary, press the RESET key on the drive unit to set the command
counter for the beginning of the program.

During the program execution, the program line number to be executed is dis-
played on the LED display of the Teaching Box. In this way, possible program
logic errors can be easily located.

You can also start the program from the drive unit. To do this, ST1 must be
tilted upwards. You then press the RESET push-button on the control panel of
the drive unit and press RUN. Now the green LED lights up and the robot will
move.

Is the Teaching Box switched off?

________________________________________________________________

________________________________________________________________

________________________________________________________________

A-42
Exercise sheet Festo Didactic
BP70
A7

Fundamentals of robotics Subject

Conditional repositioning of workpieces Title

• To be able to operate the simulation box. Training aims

• To be able to use commands for the actuation of an input-output device.


• To be able to incorporate program branching.

The processor of the drive unit is able to read an input word and to change the Technical knowledge
status of bits successively on one output word. Moreover, it employs an inter-
nal reference register for logic operations or internal reference interrogation. In B 4.1
this way, bits are loaded to the internal reference register when the input word
is read. The status of individual bits can then be interrogated and in addition
the decimal value of the data word is available for comparisons.

Fig. 7/1: Simulation box

A processing installation forms metal parts by means of a press. The unma- Problem description
chined parts are fed to a supply robot via two feed devices. The robot picks up
the arriving blank, deposits this in the press and stacks the formed parts on a
pallet.

A-43
Exercise sheet Festo Didactic
BP70
A7

Problem If bit 0 is set on the simulation box, the robot is to collect the workpiece from
the workpiece carrier, travel to its wait position, wait for 3 seconds and then to
re-deposit the workpiece on workpiece carrier A.

If bit 1 is set on simulation box, the robot is to collect the workpiece from
workpiece carrier B, travel to its wait position, wait for 3 seconds and then to
re-deposit the workpiece on workpiece carrier B.

During the period when the robot is handling the workpiece, output bit 0 is to
light up on the simulation box. Bit 0 then signifies "busy".

What is a conditional jump and what is an unconditional jump within a program


flow?

________________________________________________________________

________________________________________________________________

________________________________________________________________

How can you clearly program branchings in a program?

________________________________________________________________

________________________________________________________________

________________________________________________________________

Auxiliary material • Instruction manual (Chapter 3)


• Positional sketch
• Table of positions
• Program flow chart

A-44
Exercise sheet Festo Didactic
BP70
A7

Fig. 7/2: Positional sketch

A-45
Exercise sheet Festo Didactic
BP70
A7

Pos. No. Comment

Table 7/1: Table of positions

A-46
Exercise sheet Festo Didactic
BP70
A7

START

Approach
wait position

Bit 0 no Bit 1 no
? ?

yes yes

Fig. 7/3: Program flow chart

A-47
Exercise sheet Festo Didactic
BP70
A7

Program form

Step No. Command Operands Comment Step No. Command Operands Comment

A-48
Exercise sheet Festo Didactic
BP70
A7

The robot is positioned at its reference point and the programming software Practical implementation
has been loaded.

Refer to chapter 3 COMMANDS for descriptions regarding the following com-


mands:

ID, OB, GT, EQ.

Connect the simulation box to the external I/O input on the rear side of the
drive unit. In addition, the simulation box must be connected to the mains
voltage.

You should proceed step-by-step when carrying out the exercises.:


• Number the positions to be approached on the positional sketch
• Draw up a table of positions
• Formulate a program flow chart
• Teach the positions
• Code the handling tasks
• Check the handling sequence.

A-49
Exercise sheet Festo Didactic
BP70
A7

A-50
Exercise sheet Festo Didactic
BP70
A8

Fundamentals of robotics Subject

Palletising Title

• To be able to use the palletising function. Training aims

• To be able to identify the basic coordinates system.


• To be able to control the relative motions of the robot arm.

The controller of a robot also controls the actuating system of the axes in order Technical knowledge
for the robot arm to move from one taught position to another. Easy to use
controllers are able to carry out a linear interpolation between taught positions. B 4.2.1
With this functional capability, the controller can calculate the coordinates of
each position within a pallet, if its corner points have been taught.

A robot is used on a packing station for palletising rolls of yarn. The effector Problem description
has been equipped with 5 grippers and the SCARA type robot arm deposits
the rolls in rows on the pallet.

Fig. 8/1: Palletising robot

A-51
Exercise sheet Festo Didactic
BP70
A8

Exercise The robot is to reposition the workpieces on the pallet according to Fig. 8/2.

If necessary, mount the pallet on the profile plate.

How can you avoid collisions when transferring workpieces within the pallet?

________________________________________________________________

________________________________________________________________

________________________________________________________________

What happens, if the Z coordinates of the 4 corner points of the pallet have
different values ?

________________________________________________________________

________________________________________________________________

________________________________________________________________

How can you be sure always to execute the same relative motions when
teaching the positions?

________________________________________________________________

________________________________________________________________

________________________________________________________________

Auxiliary material • Instruction manual (Chaper 3)


• Layout of workpieces
• Positional sketch
• Table of positions
• Program flow chart

A-52
Exercise sheet Festo Didactic
BP70
A8

Fig. 8/2: Allocation of the workpieces on the pallet

A-53
Exercise sheet Festo Didactic
BP70
A8

Fig. 8/3: Positional sketch

A-54
Exercise sheet Festo Didactic
BP70
A8

Pos. No. Comment

Table 8/1: Table of positions

A-55
Exercise sheet Festo Didactic
BP70
A8

START

Define pallet and


approach wait position

Approach position Approach position

3 times

Fig. 8/4: Program flow chart

A-56
Exercise sheet Festo Didactic
BP70
A8

The robot is at its reference point and the programming software has been Practical implementation
loaded.

Refer to Chapter 3 COMMANDS of the manual for descriptions regarding the


following commands

PA, SC, PT, DW

Teach the required positions for use of the palletising functions. When doing
so, make sure that you teach the spatial positions approximately 40 mm above
the pallet in order to avoid collisions. The cylindrical workpieces are approxi-
mately 40 mm high.

First approach the position of a corner point of the pallet and then access the
on-line mode of the programming software. Now execute a relative movement
in the +Z axis using the command DW. Store this point as a pallet corner
point.

Proceed in the same way for the other corner point. Check the Z-coordinate
with the Teach-In box of the programming software.

Carry out a sample run if the syntax check of the interpreter does not produce
any error message.

A-57
Exercise sheet Festo Didactic
BP70
A8

A-58
Exercise sheet Festo Didactic
BP70
A9

Fundamentals of robotics Subject

Program structuring using the subroutine method Title

• To be able to use the palletising function. Training aims

• To be able to structure a sequential program with the help of subroutines.


• To be able to edit positions.

The flow of a sequence of motions of a robot arm can be coded into a pro- Technical knowledge
gram in the form of a sequence of commands. Complex repetitive motion se-
quences can be combined in a subroutine. A subroutine can be called up at
any point in the main program and the program flow continues with the main
program once the subroutine has been completed.

A cartesian robot is used for palletising easily broken stone blocks. The stones Problem description
are transported on a conveyor belt to within the operational space of the robot.
The robot arm grips each stone individually and deposits it on a pallet.
B 1.3

Fig. 9/1: Cartesian robot during palletising

A-59
Exercise sheet Festo Didactic
BP70
A9

Problem The robot is to reposition the workpieces within the pallet according to Fig. 9/2.

Use the command MA.

If necessary, mount the pallet on to the profile plate.

Analyse the handling task in order to establish repetitive motion sequences


and program sections.

________________________________________________________________

________________________________________________________________

________________________________________________________________

Which commands are required to enable subroutines to be called up and ter-


minated?
________________________________________________________________

________________________________________________________________

________________________________________________________________

At which point in the program text are the subroutines located?

________________________________________________________________

________________________________________________________________

________________________________________________________________

Auxiliary material • Instruction manual (Chapter 3)


• Layout of the workpieces
• Positional sketch
• Table of positions
• Program flow chart

A-60
Exercise sheet Festo Didactic
BP70
A9

Fig. 9/2: Allocation of the workpieces on the pallet

A-61
Exercise sheet Festo Didactic
BP70
A9

Fig. 8/3: Positional sketch

A-62
Exercise sheet Festo Didactic
BP70
A9

Pos. No. Comment

Table 9/1: Table of positions

A-63
Exercise sheet Festo Didactic
BP70
A9

START

Initialise

3 times

Fig. 9/4: Program flow chart

A-64
Exercise sheet Festo Didactic
BP70
A9

START START

END END

Subrout ine Subrout ine


Pick -up Depos it

Fig. 9/5: Program flow chart for subroutines

A-65
Exercise sheet Festo Didactic
BP70
A9

Program form

Step No. Command Operands Comments Step No. Command Operands Comment

A-66
Exercise sheet Festo Didactic
BP70
A9

The robot is positioned at its reference point and the programming software Practical implementation
has been loaded.

Refer to Chapter 3 COMMANDS of the manual for descriptions regarding the


following commands:

PA, SC, PT,


PD, MA, GS, RT.

The flexibility of a robot is demonstrated by reduced tool change times, such


as, for instance, if the thickness of the pallet were to change.

Teach the target point directly on the pallet. Furthermore, define a "virtual
point" or an auxiliary point as the first line in the program text. With the help of
this point and combined with the command MA you will be able to move the
robot arm across the pallet without danger of collision. The PD command does
not have a step number.

The motion sequence:

PD 10, 0, 0, 40, 0, 0 Example


10 MA 10, 3.

moves the robot arm to a position which is 40 mm above position 3. If the


physical dimensions of the pallet or of the workpieces changes, then all you
need to do is to newly define the "virtual position" with PD.

You can edit a virtual position or any other additional position direct in the
positions file. If you wish to add any points, then you will need to include the
corresponding number of new positions in your calculations when loading the
position from the drive unit to the personal computer. You will then obtain
"zero positions", which you can edit.

When a program is initialised, all definitions of variables, positions and


counters are assembled into a program section. This program section is at the
beginning of the main program.

A-67
Exercise sheet Festo Didactic
BP70
A9

A-68
Exercise sheet Festo Didactic
BP70
A10

Fundamentals of robotics Subject

Tick-tack-toe game Title

• To be able to use commands for input and output of data. Training aims

• To be able to use commands for program branching and for setting


counters.
• To be able to structure a sequence program with subroutines.

Communication is the exchange of information between the communication Technical knowledge


users. Between people, information is exchanged in the form of language
using letters. The method of information in the case of electronic processors in
computers is a language using the two characters 0 and 1. The information is
the content of a message and this is irrespective of the form of a message.

The purpose of coding is the unique assignment of messages using different


languages: For instance, "Deposit the piece in the middle of the board" is
assigned the bit sequence "1010".

A historic example of a robot seemingly playing chess. M. von Kempelen de- Problem definition
signed and constructed a chess playing automaton, which was, however, oper-
ated by a small man, who could not be seen when the cabinet was opened. In
those days, therefore, the admiration of the apparent perfection of the machine
rested on deception.

Fig. 10/1: Chess playing automaton


(Reproduction of a copperplate engraving dated 1783)

A-69
Exercise sheet Festo Didactic
BP70
A10

Problem During a game of tick-tack-toe, two players alternately place the pieces in their
colours on a 3 x 3 pallet (board). The winner of the game is the one who was
the first to complete a diagonal, vertical or horizontal row on the pallet with his
pieces.

The players should therefore place their pieces in the workpiece retainers and
instruct the robot where on the pallet it is to deposit them. The robot deals with
all the remaining handling tasks in order to carry out the game.

The means of communication is the simulation box.

Arrange the robot cell according to Fig. 10/2.

What subroutines does the handling task of the robot consist of ?

________________________________________________________________

________________________________________________________________

________________________________________________________________

How many different items of information must you convey to the robot in order
to be able to define the position on the pallet ?

________________________________________________________________

________________________________________________________________

________________________________________________________________

How many bits do you require in order to codify all this information ?

________________________________________________________________

________________________________________________________________

________________________________________________________________

A-70
Exercise sheet Festo Didactic
BP70
A10

Why must communication between operator and robot control unit be syn-
chronised?

________________________________________________________________

________________________________________________________________

________________________________________________________________

How can communication between operator and robot control unit be syn-
chronised ?

________________________________________________________________

________________________________________________________________

________________________________________________________________

How do you terminate the game and thus stop the robot ?

________________________________________________________________

________________________________________________________________

________________________________________________________________

• Instruction manual (Chapter 3) Auxiliary material

• Positional sketch
• Table of positions
• View: Pallet (Board)
• Coding table
• Program flow chart

A-71
Exercise sheet Festo Didactic
BP70
A10

Fig. 10/2: Positional sketch

A-72
Exercise sheet Festo Didactic
BP70
A10

Pos. No. Comment

Table 10/1: Table of positions

A-73
Exercise sheet Festo Didactic
BP70
A10

Fig. 10/3: View of the pallet

Message Bit 0 1 2 3 4 5 6 7
Position 1
Position 2
Position 3
Position 4
Position 5
Position 6
Position 7
Position 8
Position 9
STOP
STROBE
Table 10/2: Coding table

A-74
Exercise sheet Festo Didactic
BP70
A10

START

Define pallet and


approach wait position

RED no
?

yes

Message no
present
?
yes

no STOP
?

yes

END

Fig. 10/4: Program flow chart

A-75
Exercise sheet Festo Didactic
BP70
A10

Program form

Step No. Command Operands Comment Step No. Command Operands Comment

A-76
Exercise sheet Festo Didactic
BP70
A10

The robot is positioned at its reference point and the programming software Practical implementation
has been loaded.

Refer to the manual for a description of the following commands:

PD, MA,
PA, PT, SC, CP, OB,
EQ, GS, GT, ID, TB,
RT.

The program starts with the handling task for the robot:
To collect one black and one red piece alternately from the workpiece carriers.

The change can be implemented via the interrogation "Red ?". A counter is
used for this purpose, and whose value is interrogated.

The counter with number 1 is assigned value 1 with "SC 1,1" or value 2 with
"SC 1,2".

10 CP 1 Example
20 EQ 1, 100
30 GT 50
40 EQ 2, 200
50 proceed

100 Subroutine collect red workpiece


200 Subroutine collect black workpiece

The second handling task for the robot is:


To deposit the piece at a desired position on the board.

This task requires the information where the robot is to deposit the piece. This
information is to be input at the simulation box.

It is then crucial that the robot controller starts reading the input bite via the
command ID only after you have input the complete message.

The interrogation "message available" and the processing of the communica-


tion synchronisation can be programmed via two conditional jump commands.
STROBE = Input bit 7 and BUSY = output bit 6

A-77
Exercise sheet Festo Didactic
BP70
A10

Example 10 ID
20 TB -7, 10
30 OB +6
40 ID
50 TB +7, 40
60 continue

The two bits STROBE and BUSY synchronise the communication between
user and robot controller. The controller reacts only if the user sets the
STROBE bit. The controller answers with a BUSY bit, if it has recognised the
set STROBE bit.

In this exercise with the tick-tack-toe game, the user has to reset the STROBE
again. Only then does the robot controller read your input on the simulation
box.

It is useful for the positions on the board to be coded with bits 0 to 3. The
interrogation EQ also carries out a comparison of decimal numbers. In that
case, you will have to code the positions with dual numbers, but will however
be able to process the decimal values in the program.

Example 10 ID
20 EQ 1, 100
30 EQ 2, 200
...
...
...

100 workpieces to be deposited at position 1


...
...
...
200 workpieces to be deposited at position 2
...
...
...

The stop conditions can be incorporated in the program sequence after the
workpieces have been deposited. STOP = Input bit 6

Example 10 ID
20 TB -6, Program start
30 ED.

A-78
Exercise sheet Festo Didactic
BP70
A11

Fundamentals of robotics Subject

Movement in a smooth line Title

• To be able to describe the difference between axes interpolated and linear Training aims
interpolated PTP control.
• To be able to use the commands for linear interpolated PTP control.
• To be able to use commands for the activation of the robot controller out-
puts.

During the deburring of workpieces, a tool moves along a straight or curved Technical knowledge
contour path. The controller of an industrial robot controls the motions of the
axes of the robot arm with different path accuracy requirements.

In the case of straightforward PTP control, the coordinates of the individual


axes of the "learnt" positions represent the setpoint values for the axes control-
B 4.3
ler. With axes interpolated PTP control or similarly with synchronous control,
the time during which an axis reaches the setpoint value is processed as a
further manipulating value by the controller. This ensures that the overall mo-
tion of the robot arm is more harmonised. In the case of linear interpolated
PTP control, the processor calculates the coordinates of intermediate points
along the connecting line of two positions, whereby the robot arm performs a
smooth linear motion.

In a foundry, workpiece carriers are manufactured by means of the centrifugal Problem description
casting method. After casting, the burrs created during the casting process are
ground. Up to now, this work had been carried out manually.

As part of creating a more humane and flexible work environment, deburring is


to be carried out by a robot. You should take into account, that the tool will
need to be exchanged after a certain number of cycles.

A-79
Exercise sheet Festo Didactic
BP70
A11

Problem Simulate the deburring of the lateral edges of a workpiece carrier (Fig. 11/2).

Please note that the model tool is to be changed after two processing cycles
and that for reasons of safety a warning light is to be illuminated during
deburring.

How large is the deviation from the straight line connecting two points with
command MO, the coordinates of which differ only by 10 cm in the X coordi-
nate ?

________________________________________________________________

________________________________________________________________

________________________________________________________________

With which tool are sharp edges deburred?

________________________________________________________________

________________________________________________________________

________________________________________________________________

How can you program linearly interpolated paths?

________________________________________________________________

________________________________________________________________

________________________________________________________________

Auxiliary material • Instruction manual (Chapter 3)


• Positional sketch
• Positions table
• View: Workpiece carrier
• Program flow chart

A-80
Exercise sheet Festo Didactic
BP70
A11

Fig. 11/1: Positional sketch

A-81
Exercise sheet Festo Didactic
BP70
A11

Pos. No. Comment

Table 11/1: Table of positions

Fig. 11/2: View of the workpiece carrier

A-82
Exercise sheet Festo Didactic
BP70
A11

START

Approach wait position


and set counter to 0

Pick-up tool model

no
Counter = 2
?

yes

Change tool model

END

Fig. 11/3: Program flow chart

A-83
Exercise sheet Festo Didactic
BP70
A11

Program form

Step No. Command Operands Comment Step No. Command Operands Comment

A-84
Exercise sheet Festo Didactic
BP70
A11

The robot is positioned at its reference point and the programming software Practical implementation
has been loaded.

The tool moves in a straight path along the edge of a workpiece during debur-
ring. The controller of a robot has to move between the extremities of the edge
by linear interpolation, i.e. the controller calculates the coordinates of inter-
mediate points. This functional capability is executed with the command MS.

You will need to reposition the workpiece carrier on the profile plate in such a
way that the tip of the model tool can be guided along the lateral edges. When
changing the edges, rotate the tool at an appropriate point "re-gripping", so
that the robot arm does not collide with the workpiece carrier.

The use of the command MS is crucial with regard to this simulation of a


processing operation. You can also choose different edges for the purpose of
this simulation.

You can count the processing cycles with the help of a counter. Please note
that the comparison interrogations are executed via an internal comparison
register.

10 SC 1,0 Example
20 IP 1
30 CP 1
40 SM 2, 20
50 proceed

Comparison interrogations with integer numbers = INTEGER can also be ex-


ecuted with the command EQ.

One output at the simulation box is to be set bitwise. In this way, you will also
be able to let output bit 0 flash as a BUSY signal.

10 SC 1,1 Example – FLASHING


20 IP 1
30 OB +0,
40 TI 10
50 OB -0,
60 TI 10
70 G
80 CP 1
90 SM 5, 20
100 proceed

A-85
Exercise sheet Festo Didactic
BP70
A11

A-86
Exercise sheet Festo Didactic
BP70
A12

Fundamentals of robotics Subject

Simulation of paint spraying Title

• To be able to move the robot arm relative to a position. Training aims

• To be able to set output signals of the controller.


• To be able to program program loops.

The Mitsubishi RV-M1 has an axes interpolated or synchronous PTP controller Technical knowledge
with an additional functional capability: linear interpolation of straight path seg-
ments. Further developed controllers for complex motion functions can also
interpolate circular path segments or more generally interpolate a curved path
as a result of polynomial development.

These PTP controllers differ from pure CP – continuous path – controllers in


that a PTP controller merely calculates the space coordinates of the positions B 4.2.2
of the effector and does not take into account the dynamics of the robot move-
ment. CP controllers also calculate the speed and acceleration components,
in order to increase the
degree of perfection of a
path movement. Any dy-
namic system, for in-
stance, is affected by a
coriolis force, which
causes a deviation from
a purely statically calcu-
lated path.

As part of creating a Problem description


more humane working
environment paint spra-
ying is to be partially car-
ried out by robots. It is
for these tasks in par-
ticular that the articulated
arm robot is made use of
due to the intelligent po-
sitioning of the spray
nozzle. Use the play-
back method to teach
the movement. The oper-
ator moves the spray jet
along the surface to be
sprayed and the robot
controller stores the path
pattern.

Fig. 12/1: Paint spraying robot

A-87
Exercise sheet Festo Didactic
BP70
A12

Problem Simulate the spraying of a lateral surface of a workpiece carrier using the
model tool.

Please note that the activity of the spray jet is to be displayed at the simulation
box by means of an LED.

What is the usual method of teaching paint spraying robots ?

________________________________________________________________

________________________________________________________________

________________________________________________________________

Which points must you always teach? Find an optimum (minimal) solution!

________________________________________________________________

________________________________________________________________

________________________________________________________________

By what method can you program repetitive motion sequences?

________________________________________________________________

________________________________________________________________

________________________________________________________________

Auxiliary materials • Instruction manual (Chapter 3)


• Positional sketch
• Table of positions
• Trajectory
• Program flow chart

A-88
Exercise sheet Festo Didactic
BP70
A12

Fig. 12/2: Positional sketch

A-89
Exercise sheet Festo Didactic
BP70
A12

Pos. No. Comment

Table 12/1: Table of positions


165

80
5 5

Fig. 12/3: Trajectory of spraying nozzle

A-90
Exercise sheet Festo Didactic
BP70
A12

START

Approach wait position

Pick-up tool model

Approach workpiece
carrier

no

Deposit tool model

yes

Approach wait position

END

Fig. 12/4: Program flow chart

A-91
Exercise sheet Festo Didactic
BP70
A12

Program form

Step No. Command Operands Comment Step No. Command Operands Comment

A-92
Exercise sheet Festo Didactic
BP70
A12

The robot is positioned at its reference point and the programming software Practical implementation
has been loaded.

Teach an approach position for the spraying of workpiece carrier surfaces.


Please note that the tip of the model tool should be at a certain distance from
the surface.

If the command DW is used, all you need to do is to teach the approach


position. By measuring the physical dimensions of the workpiece carrier it will
be sufficient for you to input the relative coordinate and to travel the robot arm
with the command DW.

The number of loop operations is the sum of total height of the workpiece
carrier and the distance of two lines.

The switching on and off of the output is also based on the physical dimen-
sions of the workpiece carrier.

A-93
Exercise sheet Festo Didactic
BP70
A12

A-94
Exercise sheet Festo Didactic
BP70
A13

Fundamentals of robotics Subject

Continuous motion Title

• To be able to use commands for continuous motion through the robot mo- Training aims
tions.
• To be able to describe the continuous motion through the robot motions.

A PTP controller controls the point-to-point motion of a robot arm. From one Technical knowledge
position, the arm is accelerated to the desired speed. The motion is to decel-
erate before the robot arm reaches the next position. In this way, the travel B 4.2.4
through several positions becomes a series of alternating accelerations and
decelerations. Many controllers offer the functional capability: Continuous mo-
tion. With this type, the motion through several positions is not accelerated, but
instead the controller calculates the trajectory in such a way that the change in
direction to the next point is executed smoothly.

One area of application for industrial robots is the coating of workpieces. Thus, Problem description
robots equipped with fully automatic dispensing units can be found in applica-
tions for applying of liquid media such as for example: Bonding agents, sili-
cone, casting resins, oils, lubricants and soldering flux.

A-95
Exercise sheet Festo Didactic
BP70
A13

Problem Simulate the coating of the workpiece retainer with the help of the model tool,
whereby the tip of the model tool travels along the circular tool retainer of the
workpiece support.

First, teach 8 and then 16 positions and compare the results: Travel the path
once, both point-to-point using the command MO and with the command MC
for a continuous movement from one position to another past predefined inter-
mediate points.

A-96
Exercise sheet Festo Didactic
BP70
A13

First of all, teach eight positions which are to be distributed at regular intervals Practical implementation
along the circular workpiece retainer. For example, positions 4 to 12.

Then, teach 16 positions, whereby you should select the intermediate points
between the eight positions above. For example, 4 to 20.

The command MC:

10 MC 4,12

or

10 MC 4,20

causes the robot to move continuously from point-to-point.

If the control of the robot drive units has been executed error-free, then the
motion of the model tool should be close to that of a circular path as the
number of intermediate points increases.

A-97
Exercise sheet Festo Didactic
BP70
A13

A-98
Fundamentals Festo Didactic
BP70
B

Fundamentals
B1 Industrial robots in production . . . . . . . . . . . . . . . . . . . B-3
1.1 Recession . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-4
1.2 Objectives and characteristics of automated
and flexible production . . . . . . . . . . . . . . . . . . . . . B-7
1.3 Areas of application . . . . . . . . . . . . . . . . . . . . . . . B-9
1.4 Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . B-14

B2 Industrial robots . . . . . . . . . . . . . . . . . . . . . . . . . . . B-17


2.1 Pick-and-place devices . . . . . . . . . . . . . . . . . . . . . B-19
2.2 Manipulators . . . . . . . . . . . . . . . . . . . . . . . . . . . B-19
2.3 Industrial robots . . . . . . . . . . . . . . . . . . . . . . . . . B-20
2.3.1 Robot arm . . . . . . . . . . . . . . . . . . . . . . . . B-22
2.3.2 Robot controller . . . . . . . . . . . . . . . . . . . . . B-24
2.3.3 Characteristics of a robot . . . . . . . . . . . . . . . . B-24
2.3.4 Additional terms . . . . . . . . . . . . . . . . . . . . . B-32
2.3.5 Modes of operation of a robot . . . . . . . . . . . . . . B-38
2.3.6 Robot tools . . . . . . . . . . . . . . . . . . . . . . . . B-40
2.4 Characteristic features of the RV-M1 robot . . . . . . . . . . . B-43

B3 Robot drive units . . . . . . . . . . . . . . . . . . . . . . . . . . B-47


3.1 Drive motors . . . . . . . . . . . . . . . . . . . . . . . . . . . B-51
3.2 Gears . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-57
3.3 Displacement encoders . . . . . . . . . . . . . . . . . . . . . B-60
3.4 Brakes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-67
3.5 Characteristic features of the RV-M1 robot . . . . . . . . . . . B-67

B4 Open and closed loop control of industrial robots . . . . . . . . B-69


4.1 Subsystems of the robot controller and their subfunctions . . . B-70
4.2 Performance of a robot controller . . . . . . . . . . . . . . . . B-76
4.2.1 Point to point control . . . . . . . . . . . . . . . . . . . B-77
4.2.2 Continuous-path control . . . . . . . . . . . . . . . . . B-80
4.2.3 Controller with adaptive closed-loop control . . . . . . . B-82
4.2.4 Special functions of a controller . . . . . . . . . . . . . B-84
4.3 Open and closed-loop control . . . . . . . . . . . . . . . . . . B-85
4.4 Characteristic features of the RV-M1 robot . . . . . . . . . . . B-89

B-1
Fundamentals Festo Didactic
BP70
B

B5 Programming of industrial robots . . . . . . . . . . . . . . . . . . . . . . . . . B-91


5.1 Requirements and classification . . . . . . . . . . . . . . . . . . . . . . . . . B-92
5.2 Design of a robot program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-92
5.3 Programming methods for industrial robots . . . . . . . . . . . . . . . . B-94
5.4 Characteristic features of the RV-M1 robot . . . . . . . . . . . . . . . . B-99

B6 Safety systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-107


6.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-108
6.2 Protective devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-109
6.3 Characteristic features of the RV-M1 robot . . . . . . . . . . . . . . . B-113

Bibliography of illustrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-115

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-117

B-2
Industrial robots in production Festo Didactic
BP70
B1

Industrial robots in production

B-3
Industrial robots in production Festo Didactic
BP70
B 1.1

1.1 Recession In the seventies, the use of industrial robots became accepted principally in the
automobile, electrical and the mechanical engineering industry.

At the beginning of the eighties, the metal working industry, and in particular
the automobile industry of Western Europe and North America went into re-
cession:
• increasing over-capacity
• company closures
• threatened bankruptcies
• increasing state subsidies.

In the wake of the steel and shipping industries, there now followed the auto-
mobile industry which had also begun to be affected by the crisis. A manifesta-
tion and one of the central causes of this mysery was the inexorable loss in
market and production share to Japan.

It became apparent that, in many cases, the time span of the economic service
life of technical production systems and that of manufactured product life was
getting shorter and shorter as a result of technical innovations being made in
rapid succession.

This is for instance exemplified by the fact that companies such as Messrs.
Siemens today achieve more than half of their turnover through the sale of
products and systems, which have have only been developed during the last
five years.

Moreover, in the course of Japanese expansion, there followed an increase in


requirements for technical products with regard to quality, diversity of product
variants, the complexity of products and shorter delivery periods.

B-4
Industrial robots in production Festo Didactic
BP70
B 1.1

Diversity of variants Delivery time

1970 1980 1990 1970 1980 1990

Product life Product complexity

1970 1980 1990 1970 1980 1990

Fig. 1/1: Changes in market requirements

In order to be able to survive in this climate of worldwide competition and after


conducting some hasty research into the reasons for this competitive lead by
Japan, efforts were initially concentrated on a technological offensive with a
view to lowering costs and increasing productivity. The aim was to perfect
automation and flexibilisation of the complete process of product development
and especially, of course, of production in as far as possible.

An obvious example of this new type of production flexibility are industrial ro-
bots, in particular in the automotive industry. It is a fact that compared with
other industrial sectors, the automotive industry is by far the greatest user of
robotics. This is why, for instance, robot density is an internationally recog-
nised characteristic as to the technological level achieved by an automotive
company. Robot density represents the number of industrial robots used in
production, divided by the number of vehicles produced annually. Table 1/1
(page B-6) provides a sample comparison of various car manufacturers with
regard to robot density.

B-5
Industrial robots in production Festo Didactic
BP70
B 1.1

Robot density = Number of industrial robots/Vehicles produced

Company Robot density Robot density


1982/1983 1990
General Motors 0.00038 0.00048
Ford 0.00032 0.00063
Toyota 0.00045 0.00067
Nissan 0.00051 0.00071
VW 0.00052 0.00085

Table 1/1: Robot density for different automobile manufacturers

The figures in Table 1/1 show for instance that, compared internationally,
Messrs. VW achieve the highest technological level in their use of robots.
However, if one considers the time and the number of employed involved in
producing a car (productivity), then Messrs. VW are in fact in the bottom third
of this international comparison. This quick comparison already clearly shows
that all employees have to make strenuous efforts to maintain the technologi-
cal level in order to lower costs and increase productivity.

Approx. 5 million employees in Germany are directly or indirectly affected by


the production process, which is the equivalent of approx. 15 % of all em-
ployed. The ratio for apprentices is much the same: i.e. considered in the
absolute: approx. 200 000.

B-6
Industrial robots in production Festo Didactic
BP70
B 1.2

The main purpose of the automation of production is the improvement of 1.2 Objectives and
quality and a reduction of the time required for the production of a product characteristics of
(processing time). The reduction in processing time has the added effect of automated and flexible
lowering costs. Automated production also means that tasks performed by production
people are replaced by technical systems. Within a production process, it is
especially the functions of monitoring, controlling and regulating as well as
handling of material flow which are transferred to technical systems. It is par-
ticularly in the latter function that the industrial robot has a wide area of appli- B 1.3
cation. This will be explained in a series of examples in Chapter 1/3.

The main purpose of flexibilisation of production is to increase the number of


possible product variants to be manufactured and to reduce delivery periods.
Flexibilisation is directed at the speedy and at the same time economical adap-
tation of a production process to rapidly changing product requirements. As
such, it is important, for example in the case of machined parts production,
that different workpieces involving various processing sequences are machined
in as fast as possible succession, if possible completely in one clamping fix-
ture. The same equipment such as clamping tools, conveying devices and
handling systems as well as the controllers are to be used repeatedly. These
individual systems therefore need to be carefully connected and controlled to
ensure
• smooth and automated production
• that various machining tasks can be carried out
• that there is no interruption of the processing sequence due to manual in-
tervention
• that varying lot sizes can be processed.

B-7
Industrial robots in production Festo Didactic
BP70
B 1.2

The characteristics of flexible production can therefore be summarised as fol-


lows:

Extensive processing requirement


- Turning
- Milling
- Drilling

Low tooling / retooling cost


Objectives
of flexible
production Maximum re-usable equipment

High load factor

Fig. 1/2: Flexible production targets in response to the market

The specific advantages of the industrial robot lie in automated and flexible
production. With this, it is possible to carry out fast tool changes for various
handling tasks, to undertake many different motion sequences in standard pro-
duction and all this with maximum workload and consistent quality. Further-
more, the robot can be used in hazardous working environments, e.g. in par-
ticular in polluted areas (spray booths) or in the case of overhead work (as-
sembly). It is therefore hardly surprising that in the meantime the industrial
robot (whose title originates from the Polish/Czech robota = hard labour) is
being used in a great many areas.

B-8
Industrial robots in production Festo Didactic
BP70
B 1.3

The total number of approx. 26 600 industrial robots in use in the former Ger- 1.3 Areas of application
man Republic in 1990 were represented in the areas of application as illus-
trated in Fig. 1/3.

Fields of
application

Research, testing
1090
and training

1379 Surface coating

5431 Spot welding

5039 Contour welding

Deburring 115

6443 Assembly

803 Other

Pressing
787
Forging

2002 Pressure die-casting


Injection moulding

Machine loading/
2202
unloading

Palletising, consigning,
1355
packaging, etc.

1000 2000 3000 4000 5000 6000 Number

Fig. 1/3: Areas of application for industrial robots in the year 1990 (source IPA)

The following shows one example each of the areas of palletising, coating,
contour welding and assembly. These examples merely represent a small part
of the various industrial robot applications in use.

B-9
Industrial robots in production Festo Didactic
BP70
B 1.3

Palletisation The term palletising means the combining of several identical or different
goods into one unit. This is a task for which robots are frequently used. These
pick up the goods and place them, for instance, on a Euro pallet. Increasingly,
palletising robots are equipped with a camera for the detection of different
goods. Cameras of this type, equipped with an evaluation unit, are also known
as vision systems.

Figure 1/4 shows a robot palletising reels of yarn. The robot picks up five reels
at a time from the feed station (left in the picture) and deposits these on the
pallet. This process is repeated five times until 25 reels of yarn have been
placed in one layer. The robot then picks up an intermediate layer of card-
A8
board (shown in the background of the picture) and places this on the previous
layer. Another 25 reels of yarn are then placed on to the intermediate layer.
This process is repeated until the pallet has reached its filling height.

Fig. 1/4: Robots during palletising (Photo Reis factory)

B-10
Industrial robots in production Festo Didactic
BP70
B 1.3

The rapid development of new types of adhesives and plastics, which also can Applying adhesives
be developed within a short time for corresponding applications, has provided
a breakthrough from adhesive technology to bonding technology. In particular
in windscreen assembly bonded windscreens or seals moulded directly onto
the screens have replaced the traditional rubber seals. Currently, approx 50 %
of car windscreens are bonded. From this, it may be assumed that for the
European car industry this ratio will increase to 85 %. It is possible to automate
these new bonding methods with the help of robots. As such, robots will, on
the one hand, apply the adhesive on to the screen or the car body or else
accurately position the prepared screens onto the car body.

Fig. 1/5: Robot inserting a windscreen (Photo: Kuka factory)

B-11
Industrial robots in production Festo Didactic
BP70
B 1.3

Welding Welding is by far the most important robotic application. Apart from the addi-
tional load incurred due to the the welding tongs, spot welding places very few
demands on the performance of the robot.

In the case of contour welding, very powerful robots are needed. As the posi-
tion of the welding seam is rarely precisely known, a sensor is required in
addition to detect the seam and to guide the robot. Furthermore, the welding
rod feed as well as the welding current or welding flame have to be adjusted in
relation to the feed speed. These additional functions are also carried on by
the robot controller.

Fig. 1/6: Robot used in contour welding (Photo: Siemens factory)

B-12
Industrial robots in production Festo Didactic
BP70
B 1.3

Most robot applications can be found in the field of assembly technology. It is Assembly
in this area in particular that extensive robot peripherals are necessary for
solving assembly problems. To achieve this, the robot has to work in perfect
unison with the peripherals. Most peripheral systems are designed and con-
structed for a particular workpiece which is to be assembled in an installation.
If this workpiece changes, then the device either has to be modified or ex-
changed completely with a new one. This considerably reduces the flexibility of
the entire assembly installation relative to the high flexibility of the individual
robot. Fig. 1/7 shows a flexible assembly installation. On this installation, two
different modules from the household appliance industry are assembled
whereby complex assembly procedures are undertaken as each module con-
sists of approximately eight component parts. If necessary, the module type
can be varied in assembly. On the lefthand side of the illustration you will see
an automatic pallet storage device, which stocks up the pallets with component
parts and the ready assembled modules. The actual assembly area can be
seen to the right of the picture, with the assembly robot, the station where
screwing together of parts takes place as well as various assembly and testing
stations.

Fig. 1/7: Automatic assembly installation for two modules


(Photo: ProLine factory)

B-13
Industrial robots in production Festo Didactic
BP70
B 1.4

In the example quoted, the component parts are brought into the operational
space of the robot in plastic pallets. The robot removes one or several compo-
nents from the pallet and joins them together with the help of a single assem-
bly station. The assembled parts are then connected into prepared modules by
means of the screwing-in devices. The robot transports the modules to the
testing stations. After a functional test, the modules are deposited in a plastic
pallet and the pallets are fed towards the storage device via a conveyor belt.

1.4 Peripherals This sample assembly application demonstrates the fact that assembly and
production tasks cannot be carried out by means of robots alone. So-called
peripheral devices are required in order to solve additional tasks such as the
connection of components. These can consist of grippers, devices for providing
B 6.2 parts such as vibratory spiral feeders and the protective devices. Table 1/2
lists a number of peripheral devices.

Task Peripheral devices


Automatic screwing device with
Connecting together two components.
integrated screw feed.
Hydraulic or pneumatic
Pressing of components. presses with workpiece-specific
component retainers.
Retaining parts in position during the – Assembly nests
joining process. – Clamping devices
– Vibratory bowl feeders
Transferring parts from a random status – Brush feeders
to the defined status. – Steep conveyors
– Separating devices
Correctly orientated positioning of parts. – Pallets

Table 1/2: Peripheral devices and tasks

Apart from these frequently used pheripheral devices, there are a large num-
ber of other special devices.

As the robot can only operate with components whose position is known, we
shall briefly describe a clamping device and a vibratory spiral feeder at this
point.

B-14
Industrial robots in production Festo Didactic
BP70
B 1.4

Fig. 1/8 illustrates a clamping device with two clamping positions. The Clamping device
components to be welded at the clamping positions are inserted and clamped
manually. Parts thus aligned are then welded by the robot. At the same time,
this device permits the removal of the welded parts from the first clamping
station and the insertion of new parts whilst the parts are welded automatically
at the second station. At the same time, the feeding process of the actual
robot operational space is separated by a partition for the protection of the
system operator.

Fig. 1/8: Clamping device for welding (Photo: Reis factory)

B-15
Industrial robots in production Festo Didactic
BP70
B 1.4

Vibratory bowl feeders Vibratory bowl feeders (i.e. VBF) transfer random parts into an arranged order.
They consist of a bowl which can be vibrated. A spiral track is fitted on the
inside of the bowl. Due to the vibration of the bowl, the components move
upwards along this spiral track against the gravitational force. Deflectors (guid-
ing plates) have been fitted to the spiral track, which return any wrongly
aligned parts to the bowl. Only correctly positioned parts leave the bowl at the
end of the spiral track and are buffer stored in a parts outlet. The robot then
removes the component parts from this parts outlet for assembly. The deflec-
tors are designed for one type of component. If a different component is to be
assembled then the entire bowl including deflectors must be exchanged. Fig-
ure 1/9 illustrates a modern vibratory bowl feeder equipped with a small ca-
mera instead of the deflectors described. The parts pass in front of the camera
on a conveyor belt. If the camera detects parts which are in the wrong posi-
tion, these are returned to the bowl by means of a blast of air.

Fig. 1/9: Vibratory bowl feeder with camera (Photo: MRW factory)

B-16
Industrial robots Festo Didactic
BP70
B2

Industrial robots

B-17
Industrial robots Festo Didactic
BP70
B2

The previous chapter described the production environment of the industrial


robot as well as the functions which it is required to fulfil. This chapter now
deals primarily with the individual system of industrial robots: It illustrates how
this is defined, which sub systems it is composed of and which subfunctions
each of these perform. Moreover, it describes important parameters and char-
acteristics. The parameters and characteristics described are also dealt with in
a separate chapter in connection with the RV-M1 robot.

Guidelines similar to standards are already available regarding a large propor-


tion of the topics contained in this chapter and these are followed as far as
possible.

Robots for industrial use are also known as industrial robots. Both terms are
used: In this instance, the term industrial robot only will be used.

Industrial robots are, amongst other things, part of the feed systems group,
see Fig. 2/1. These are divided into single purpose devices and universal de-
vices.

Handling systems

Feed s y s tems

Single pur po s e equipment Multipur pose equipment

Single
Inser ting Mani- Industrial
pur p os e
devices pulators r obots
mac hines

Fig. 2/1: Classification of feed systems

B-18
Industrial robots Festo Didactic
BP70
B 2.2

Pick-and-place devices are known as single purpose devices. The motion se- 2.1 Pick-and-place
quence of the individual axes takes places according to a fixed program. The devices
program sequence can be modified only by means of mechanical intervention.
The approach positions are generally specified by means of mechanical stops
or cam disks.

Fig. 2/2: Pick-and-place robot

Manipulators are controlled via the operator. The operator motion is directly 2.2 Manipulators
transmitted either mechanically, electrically or hydraulically. Fields of applica-
tion for these devices are areas where heavy tools or workpieces have to be
guided with manual skill or areas which, due to environmental conditions, are
barred to humans such as, for instance, in the case of radio activity. Manipula-
tors are moved by the operator in direct sight contact. Manipulators are known
also as teleoperators.

B-19
Industrial robots Festo Didactic
BP70
B 2.3

2.3 Industrial robot VDI 2860 defines the industrial robot as follows:
"Industrial robots are universally applicable motion automatons with several
axes, whose movements are freely programmable with regard to motion se-
quence and paths or angles (i.e. without mechanical intervention) and, if re-
quired, sensor controlled. They can be equipped with grippers, tools or other
production facilities and can perform handling and/or production tasks".

By definition, an industrial robot requires a minimum of three programmable


axes of motion.

3 3 3
6

1 5
2 8, 9, 10

1 Robot arm 6 Control panel


2 Robot base 7 Manual control device
3 Robot axes 8 Computer
4 Tool flange 9 Drive amplifier
5 Robot controller 10 Input/Output unit

Fig. 2/3: Industrial robot including arm and controller

B-20
Industrial robots Festo Didactic
BP70
B 2.3

The robot is divided into two major modules, i.e. robot arm and robot control-
ler. These modules are again divided into several subsystems. Figure 2/4 illus- A 1
trates the structure of all the subsystems of a robot.

Robot

Robot arm Robot controller

Robot base Computer

Robot axis Control panel

Housing Position controller

Robot drive unit Drive amplifier

Guide system Input / Output unit

Tool flange Manual operation


device

Fig. 2/4: Classification of robot subsystems

B-21
Industrial robots Festo Didactic
BP70
B 2.3.1

2.3.1 Robot arm The robot arm is made up of the subsystems of a robot base, robot axis and
tool flange. Table 2/1 provides a further list of subsystems and subfunctions:

Subsystem Subfunction
Robot base – withstands all forces and torques
– conducts all forces and torques to the base plate
– contains the reference position, to which all
points of a robot station relate
Robot axis – executes rotational or linear motions depending on
its design
– receives the forces and torques of the next axis
or of the tool flange
– transmits the forces and torques either to the next
axis or to the robot base
Tool flange – receives all forces and torques of the robot tool
– transmits the forces and torques to the axis
– receives the robot tools

Table 2/1: Subsystems and subfunctions of a robot arm

The robot base represents the interface between the robot arm and the re-
mainder of the robot cell. A reference position is defined and marked on the
underside of the robot base, to which all dimensions within the robot oper-
B 2.3.4
ational space can be related. In addition, the robot base is often identified with
markings according to which the robot can be aligned with its basic coordinate
system in the robot cell.

B-22
Industrial robots Festo Didactic
BP70
B 2.3.1

The robot axes are technical systems, which generate a motion. They consist
of the following subsystems:

Subsystem Subfunction
Housings – house the drive system, and guide system modules
plus withstand all the forces and torques
Robot drive units – convert electrical into mechanical power
– signal the axis position
– signal the axis speed
– secure the axis against uncontrolled motions during
idle operation
Guide system – guides the axis along a defined trajectory

Table 2/2: Subsystem and subfunction of a robot axis

The robot housing is, in the case of most robots, a metal casting. This protects
the robot drive units, the control system as well as the electrical and the pneu-
matic lines from mechanical damage and withstands the processing forces.
This is why the housing needs to be very solid in order to eliminate flexibility in
the case of greater robot loads.

The guide system guides the robot axis along a rotating (rotational) or a linear
(translatory) path. This system greatly influences the accuracy of the robot
whereby only rolling-contact bearings are used.

All the robot parameters are in relation to the tool flange. The tool flange repre-
sents the interface between the robot and the tool guided by the robot. This
tool may be either a tool for workpiece handling, e.g. a gripper or a processing
tool for direct workpiece processing such as a grinding machine. Interchange- A 12
able devices between the tool flange and the tool, also known as gripper ex-
change systems, facilitate an automatic exchange of tools during the process-
ing cycle. These devices increase the flexibility of a robot whereby, for in-
stance, a mixture of different types of product specific grippers can be fitted.

B-23
Industrial robots Festo Didactic
BP70
B 2.3.3

2.3.2 Robot controller Table 2/3 provides a brief introduction of subsystems and their subfunctions:

Subsystem Subfunction
B 4.1
Computer – interprets the control program
– coordinates all movements of the robot axes
Control panel – facilitates the setting of the modes of operation
– starts and stops the robot
– displays the operational conditions
Position – maintains the individual robot axes at a predefined
controller position
Drive – supplies power to the drive motors
amplifier – monitors the speed of the robot axes
Input and – switches the outputs, e.g. to open or close grippers
output unit – receives messages in the form of digital signals
Manual control – enables the user to move the robot manually
device

Table 2/3: Subsystems and subfunctions of a robot controller

2.3.3 Characteristics The characteristics of a robot are described by means of so-called parameters.
of a robot The important parameters of a robot are the operational space, the number of
degrees of freedom, positioning accuracy, load capacity as well as speed.
These parameters have been defined in the VDI guideline 2861.

B-24
Industrial robots Festo Didactic
BP70
B 2.3.3

A robot arm primarily consists of several robot axes, which perform rotational
or linear motions. If several robot axes are combined, then this results in ro-
bots with different motion options for various tasks. A gantry robot is used as
an example to introduce the terms main and secondary axes, as well as main
and secondary operational space.

Cartesian robot

If three linear axes are combined in the manner illustrated, then this enables a
workpiece to be transported from one point to another. A gripper is required in
addition to do this. The workpiece cannot be rotated with this axis combination,
but merely changed in position. The three robot axes are known as the main
axes of the robot.

Fig 2/5: Cartesian robot with three main axes

B-25
Industrial robots Festo Didactic
BP70
B 2.3.3

If the workpiece is to be transported not just in a translatory movement from


one place to another, but also rotated, three rotational axes must be added to
the three linear axes. The three additional axes are known as secondary axes.
Figure 2/6 illustrates a cartesian robot consisting of three main and three sec-
ondary axes. The area which can be covered by the tool flange is known as
the main operational space of the robot which, in the case of a cartesian robot,
is block-shaped. Generally, the operational spaces of a robot are not repre-
sented three-dimensionally, but by means of a plan and side view of the robot
operational space.

Fig. 2/6: Cartesian robot with three linear and three rotational axes

B-26
Industrial robots Festo Didactic
BP70
B 2.3.3

If the robot is equipped with a tool, then the tool may project from the above
described operational space. The area which is crossed by the movement of
the tool is known as the secondary operational space. The size of the second-
ary operational space depends on the size of the tool.

1 Secondary operational space


2 Tool

Fig. 2/7: Secondary operational space of a cartesian robot

Cartesian robots are particularly suitable for workpiece loading and unloading
of tool machines as well as for interlinking tool machines. Additional fields of
application can be found in the areas of palletising and commissioning of pro-
ducts.

B-27
Industrial robots Festo Didactic
BP70
B 2.3.3

SCARA robot

If two rotational and one linear axis are combined, then this results in a
SCARA robot (Selective Compliance Assembly Robot Arm). The SCARA robot
has a high degree of rigidity in the vertical direction of motion and a certain
amount of flexibility in the X-Y axis. As such it is especially suitable for preci-
sion assembly tasks. One important area of application is the equipping of
printed circuit boards with electronic components in the electronics industry.
SCARA robots are amongst the fastest robots on the market. SCARA robots
are also known as horizontal articulated arm robots.

Fig. 2/8: Operational space of a SCARA robot

B-28
Industrial robots Festo Didactic
BP70
B 2.3.3

Articulated arm robot

Articulated arm robots consists of several rotational axes. This configuration of


the robot axes produces a spherical operational space. Due to their axes of A4
rotation, these robots have an unusually high degree of mobility. They are
therefore suitable for assembly tasks which require complex joining motions to
be performed. Articulated arm robots can be found frequently in the automotive
industry, where they are used primarily to automate welding tasks as well as
for complex assembly and measuring tasks. Articulated arm robots are also
known as vertical articulated arm robots.

Fig. 2/9: Operational space of an articulated arm robot

Expanding the operational space of the robot

Extensive and complex applications necessitate the robot having an expanded


operational space. This can be achieved economically by mounting a standard
robot on to an auxiliary linear axis. This axis is then controlled by the controller
in the same way as a robot axis. With an auxiliary axis, the robot can be
moved in front of several processing stations, thereby dispensing with the need
to invest in a separate robot for each work station.

B-29
Industrial robots Festo Didactic
BP70
B 2.3.3

Degrees of freedom

The position and orientation of a body, e.g. a workpiece, can be changed by


means of six basic motions. These six motions are divided into three linear
and three rotational movements. Each of these possibilities of movement rep-
resents a degree of freedom. A rotational movement is known as a rotational
degree of freedom and a linear movement as a translatory degree of freedom.
In the case of linear movements, it is only possible to achieve a change in the
position of the body, whereas with three rotational axes the body can for in-
stance be turned around to a different orientation (change in orientation).

C
B

Y
X A

Fig. 2/10: Designation of the degrees of freedom for workpiece positioning

Each robot axis has just one degree of freedom and can either rotate around
one point or along a linear guide.

If you list the possibilities of movement of all the robot axes, then you will
establish the so-called degrees of freedom of the robot. The designations of
these degrees of freedom for an industrial robot are specified in the VDI gui-
deline 2860: X, Y, Z for the translatory and A, B, C for the rotational degrees
of freedom.

B-30
Industrial robots Festo Didactic
BP70
B 2.3.3

Positioning accuracy
In order to be able to carry out handling tasks with the required degree of
accuracy, e.g. insertion of windscreens, it is essential that the actual move-
ments of the robot do not deviate from programmed motions any more than
admissable. Positional deviation depends on various factors, e.g. load, reach
and approach speed.

Positioning accuracy is generally understood to be the repetition accuracy with


regard to positioning of the nominal load. It indicates the repeatable approach
tolerance to a defined point. A typical value for industrial robots is 0.1 mm.

This necessitates automatic operation at normal running temperature in confor-


mance with VDI guideline 2861.

Nominal load
The static load to be borne by an industrial robot is denoted by the weight of
tools, e.g. of spot welding tongs and of handling objects such as gear boxes,
as well as of the torques resulting from weight forces, in particular in the case
of a long-reach robot arm. The nominal load is thus the sum of the tool load
and the useful load (VDI guideline 2861). Alternative descriptions for the nomi-
nal load are the lifting force or the load bearing capacity.

Speed
The speed of a robot is related to the tool flange of the robot. It denotes the
speed along the direction of movement of the tool flange. The speed of the
tool flange is made up of a combination of all the rates of movement of the
robot axes. Catalogues often specify the traversing speeds of the individual
robot axes, but do not provide any information regarding the speed of the tool
flange. It should be noted that the speed of the robot can only relate to the
axis speed if one axis only is moved.

B-31
Industrial robots Festo Didactic
BP70
B 2.3.4

2.3.4 Additional terms Coordinate systems

The positional change of the robot can only be described in terms of value if a
reference position has been specified within the area. From this position, any
displacements or rotations within the confines of the body are measured. To
do this, a coordinate system is set at this point.
The cartesian coordinate system consists of three axes X,Y,Z, which are per-
pendicular to each other. Fig. 2/11 illustrates a cartesian coordinate system
with point P.

Fig. 2/11: Cartesian coordinate system

The position of this point is denoted by the distance along the main axes. In
this example, the point is two units along the X-axis, two units along the Y-axis
and two units along the Z-axis.

B-32
Industrial robots Festo Didactic
BP70
B 2.3.4

If this reference position and the respective coordinate system remain un-
changed within the area, then this is known as a fixed coordinate system. In
the case of robots, this reference position is often located on the underside of
the robot base in the centre of the base plate, see Fig. 2/12. From this, all
positions of the robot cell can be described. This is then known as the basic
coordinate system of the robot.

Y
X
1

1 Base plate
2 Reference position with basic coordinate system
3 Connection to robot axis

Fig. 2/12: Robot base with basic coordinate system

B-33
Industrial robots Festo Didactic
BP70
B 2.3.4

In many cases, it is easier to describe changes in location and position in a


coordinate system which also travels with the moving body. This is then known
as an endogenic coordinate system. Fig. 2/13 illustrates a robot axis which is
to be rotated around its axis of rotation.

2
Z

PD

1 Y

1 Basic coordinate system


2 Endogenic coordinate system
3 Angle of rotation
PD Centre of rotation

Fig. 2/13: Robot axis with endogenic coordinate system

In an endogenic coordinate system, the motion can be described by means of


the rotation angle around the centre of rotation PD. The description of such a
motion in a fixed basic coordinate system is obviously much less complicated.

In addition, it is possible with some robot systems to introduce a separate


coordinate system which specifically refers to the robot tool so that there are
then three coordinate systems available.

The robot can thus be moved either along the basic coordinate system or
along each axes coordinate system or the tool coordinate system. It is not
possible to make any general statements as to which coordinate system will be
used for which positioning of the robot axis. This depends on the performance
of the robot controller as well as the skill of the operator.

B-34
Industrial robots Festo Didactic
BP70
B 2.3.4

Coordinate transformation

Fig. 2/14 illustrates a small robot with three rotational axes. It also shows the
basic coordinate system of the robot.

Fig. 2/14: Robot with two degrees of freedom

Point P which is approached by the gripper can be described in two configura-


tions. The first configuration is used to denote the angular positions of the
B 4.3
three robot axes. This describes point P. The values can be relayed direct to
the position controllers. The position controllers traverse the axes to the re-
quired values; any additional computer operations are superfluous.

In the second configuration, point P is described in the basic coordinate sys-


tem. It is not possible to generate a direct control statement for the regulation
of the axes on the basis of this information. For this, the angular positions of
the axes will have to be calculated. This procedure is known as coordinate
transformation. The values which describe the point in the basic coordinate
system are transferred to values which describe the point in the fixed coordi-
nate systems of the axes.

The example illustrates the coordinate transformation for a two-dimensionally


operating robot. A real robot operates in all three spatial directions. The coordi-
nate transformation needs to take into account additional angular positions.
Needless to say, this requires a high level of computing from the robot control-
ler.

B-35
Industrial robots Festo Didactic
BP70
B 2.3.4

Coordinate transformation ambiguity

The transformation of the configuration of a point in the basic coordinate sys-


tem of the axis is not entirely without its problems. It is possible, even in
simple cases, for a point to be reached via different robot configurations. Fig.
2/15, for instance, shows a SCARA robot, which can reach point 1 either by
hinging to the left or to the right. The coordinate transformation does not pro-
vide a single and conclusive result. This is known as the ambiguity of a robot
motion.

It is possible to preselect the direction in which a robot is to hinge with the help
of a program command.

1 2

1 Operating point to be approached


2 Reaching axis position 1 through point 1
3 Reaching axis position 2 through point 1

Fig. 2/15: Ambiguity using the example of a SCARA robot

B-36
Industrial robots Festo Didactic
BP70
B 2.3.4

Tool reference position

All of the parameters introduced so far were in relation to the tool flange of the
robot. The actual position of the tool flange is always known to the robot con-
troller due to the fact that the length and degrees of freedom of all the robot
axes are fixed. If a tool is mounted on the flange, then this results in a new
effective area of the robot. The deviation between the effective area of the
robot tool and the tool flange is described by the TCP (Tool Centre Point). This
value must be freely programmable so that the TCP can be adjusted automat-
ically in case of a tool change. Fig. 2/16 shows two robot axes with different
tools and the corresponding TCPs.

A B C D
2

5 6 7
3 4=P

A Axes with flange 1 Z-axis 5 TCPB


B Axes with TCP in Z-axis 2 X-axis 6 TCPC
C Axes with TCP in X-axis 3 Flange 7 TCPD
D Axes with TCP in Z- and X-axis 4 Reference position

Fig. 2/16: Description of a TPC

Example A illustrates two linear robot axes which position the tool flange at
point P. If a gripper is mounted on to this flange (example B) and the corre-
sponding TCP is programmed, then the Z axis corrects its motion in such a
way that the TCP of the gripper coincides with point P. Example C shows a
gripper with a laterally placed TCP point. If point P is approached with this tool,
then the controller shifts the position of the X-axis by the sum of the TCP.
Example D illustrates a TCP, the level of which has been moved. To enable
point P to be approached with this TCP, the controller corrects the values for
the X- and Z-axis.

B-37
Industrial robots Festo Didactic
BP70
B 2.3.5

Kinematics
The kinematics of a robot include all those system components which describe
the traversing of a tool to a desired tool centre point inside the robot oper-
ational space. This entails all subsystems of the robot arm. The term kine-
matics of a robot is often used in order to describe the number of linear and
rotational degrees of freedom whereby, for instance, the kinematics of a
SCARA robot are determined by two rotational and one translatory axis.

2.3.5 Modes of operation This is the point for introducing the fundamental modes of operation of an
of a robot industrial robot. Over and above these modes of operation, there are other
modes of operation available from individual robot manufacturers, which in-
crease the performance of a robot system.

Automatic operation
In the automatic mode of operation, the robot performs its specified task with-
out human intervention. Depending on the structure of the tasks, a motion
cycle is either repeated or a different motion cycle started in relation to signals
A6 from the surrounding production process. This is, for instance, how a welding
robot in an automobile factory is able to join different part of a car body by
means of spot welding. A sensor recognises the type of car body and causes
the robot to change its motion cycle. Automatic operation is the standard mode
of operation of a robot.

Single-step operation
Single-step mode is available for the purpose of testing programs, whereby
one robot step after another is executed at the press of a button. In this way,
both the robot motion itself as well as the interaction between the robot and its
environment can be checked.

Reference position travel


It is not possible for a controller to establish the actual positions of the robot
axes in the event of power failure or a heavy collision of the robot with its
surroundings. In order to re-establish the positions of the robot axes, each
A1 robot axis must be travelled separately to one end position of its motion. This
process is known as reference position travel or also as nest travel. The se-
quence of robot motions cannot be influenced by the user. If the robot has
been erected in a restricted space, then reference travel must be carefully
monitored. In an emergency, reference travel should be terminated via the
Emergency-Stop function and the robot moved out of the restricted area by
means of the "Proceed manually" mode. The reference travel should be re-
peated after this.

B-38
Industrial robots Festo Didactic
BP70
B 2.3.5

Traversing by hand
A2
The robot arm can be moved manually by means of the manual operation
device or the teaching box. Various reference coordinate systems can be
preselected for this. If an axis-related coordinate system (PTP mode) has been
selected, the actual rotational or linear motion only of the robot axis will be
travelled. If the basic coordinate system of the robot has been switched on,
then the robot moves the workpiece flange along the main axes of the basic
coordinate system (XYZ mode). The hand axes are not orientated for this. This
can only be achieved by travelling the individual axes. The third possibility is
the movement of the robot in a gripper-related coordinate system (TOOL
mode). If necessary, the hand axes are orientated at the same time.

Programming mode
In this mode of operation, the robot is moved in the same way as the manual
operation of traversing by hand. In addition, the points approached can be A5
stored in the controller and individual traversing movements input via the
manual operation device.

Computer mode
In computer mode, robot programs can be read from the robot controller and
ready-made or PC-edited programs can be written back to the controller.
Special PC programs enable the processing of robot programs.

A further possibility of combined robot/computer operation is the so-called DNC


mode, whereby an external computer has direct access to elementary robot
functions. It can start or stop robot programs, preselect different programs for
the robot or read information such as error messages or processed item
values.

B-39
Industrial robots Festo Didactic
BP70
B 2.3.6

2.3.6 Robot tools Chapter 1 already mentioned some robot tools (effectors). Although not
necessarily complete, Table 2/4 provides a list of tools. These have been
divided into a group of workpiece handling and a group of workpiece process-
ing tools.

Handling tools Processing tools


Gripper Spot welding tongs
Arc welding gun
Grinding machines
Table 2/4: Overview of robot tools

The range of application for workpiece processing tools is limited. This is due
to the limited possibilities for withstanding processing forces. Pressing-in pro-
cesses, for instance, can be only be carried out with low joining forces. If
greater forces are required, then the tool is to be constructed in such a way
that the force is generated through the tool itself. Thus, the robot will only carry
the tool weight. One example of such a tool is spot welding tongs.

The greater part of robot applications can be found in workpiece handling.


Grippers are predominantly operated pneumatically. In the case of heavier
workpieces, hydraulic grippers are also used. Table 2/5 provides a general
classification of robot grippers:

Gripper type Function


Single gripper a single gripping task only can be performed with this
gripper
Double gripper consists of two identical grippers
Multiple gripper consists of several different grippers for processing a
variety of tasks
Table 2/5: Classification of grippers

B-40
Industrial robots Festo Didactic
BP70
B 2.3.6

Single grippers are used for constant, repetitive tasks with similar workpieces.
In this way, cardboard boxes of different sizes are stacked on to a pallet. A
single gripper is sufficient to perform this task as cardboard boxes can be
picked up easily.

Double grippers are often used for loading and unloading of machine tools.
One gripper holds the new workpiece for processing (Unmachined part), the
second gripper remains empty. The robot removes the finished workpiece from
the machine tool with the free gripper and the gripper rotates by 180 degrees.
With the second gripper, the robot inserts the unmachined part into the chuck
of the machine tool. This saves the robot from travelling to the workpiece stor-
age point thereby reducing the machine tool down times.

Multiple grippers are frequently used in automated assembly. They can per-
form different tasks such as in the assembly of equipment without executing a
tool change. Different principles of operation can be used in a multiple gripper.
Table 2/6 provides a list of grippers divided according to principles of oper-
ation.

Gripper Principle of operation


Parallel gripper friction-locking, interlocking
Swivel gripper friction-locking, interlocking
Vacuum gripper friction-locking
Electromagnetic gripper friction-locking
Table 2/6: Operational principles of robot grippers

B-41
Industrial robots Festo Didactic
BP70
B 2.3.6

Fig. 2/17 shows a parallel gripper with interlocking jaws. The workpiece is
enclosed and retained by the jaws.

3 4 5
1 Workpiece flange
2 Gripper finger
3 Gripper jaws interlocking
4 Workpiece
5 Gripper jaws friction-locking

Fig. 2/17: Gripper with interlocking and friction-locking jaws

Grippers which operate by means of friction generate their retention force by


friction. The original effective force therefore represents the pressure force of a
gripper or the magnetic force. If the surface of the parts varies or maybe oily,
this will considerably reduce the retention force. With this type of gripping prob-
lem, it is necessary to resort to jaws with interlocking action.

Vacuum grippers or electromagnetic grippers will, in addition, fail to operate


during a power failure. This should be taken into consideration during applica-
tion planning. It will be necessary to provide additional energy sources, e.g. in
the form of a reservoir or a battery.

B-42
Industrial robots Festo Didactic
BP70
B 2.4

The RV-M1 robot consists of five rotational axes and thus forms part of the 2.4 Characteristic
category of vertical articulated arm robots. features of
the RV-M1 robot

Pitch angle
Elbow

Shoulder

Roll angle

Waist

Fig. 2/18: RV-M1 robot

B-43
Industrial robots Festo Didactic
BP70
B 2.4

The operational space of the robot is toroidal. Fig. 2/19 illustrates the robot
and its operational space viewed laterally and from the top. The key dimen-
sions facilitate the design of applications using this robot.

143,2
10˚
150˚

482
72
2
48 215 250 160

P P
230

30˚
300

57
21,9

150˚

Fig. 2/19: Operational space and key dimensions of the RV-M1 by Mitsubishi

Table 2/7 provides a further list of the parameters discussed.

Degrees of freedom 5 rotational degrees of freedom


Speed 1.000 mm/s in relation to workpiece flange
Nominal load 1.2 kg
Useful load 0.6 kg
Repetition accuracy 0.3 mm
Table 2/7: Parameters of the RV-M1

The RV-M1 robot does not have a complete TCP function. It is not possible to
define a random TCP. The TCP can only be moved along the axis which has
been defined vertically by the reference position of the tool flange.

B-44
Industrial robots Festo Didactic
BP70
B 2.4

The maximum displacement of the TCP must not exceed 300mm. This "mode
of operation" is known as Tool mode. Fig. 2/20 illustrates the possible defini-
tion of a TCP with the RV-M1.

1
2 4 5

1 Workpiece flange
2 Reference position workpiece flange
3 Max. distance for TCP displacement
4 TCP1
5 TCP2

Fig. 2/20: Definition of TCP for RV-M1

B-45
Industrial robots Festo Didactic
BP70
B2

B-46
Robot drive units Festo Didactic
BP70
B3

Robot drive units

B-47
Robot drive units Festo Didactic
BP70
B3

Whereas Chapter 2 dealt with the definition and description of the industrial
robot system, there now follows an explanation of the subsystems of the indus-
trial robot in greater detail. Initially, this chapter will examine the subsystem of
a robot drive unit as follows: To begin with, there will be a brief introduction of
the functions of a robot drive unit as well as a description of the various forms
of powering a robot drive unit. Due to the paramount importance of electrical
drive units in industrial robots, we will deal with these exclusively. The control-
ler will be explained subsequently in Chapter 4.

The function of a robot drive unit is to repeatedly move the individual robot
axes to a preset position at a given speed. The speed of the individual axes
and the position to be approached is predetermined by the controller. The
power required for the motion of the axes is transmitted hydraulically, electri-
cally or pneumatically.

Electric motors have become widely accepted for industrial robots. Hydraulic
A 12
power is used purely for industrial robots which handle extremely high loads or
which operate in areas with explosion hazard, e.g. varnishing robots. Pneu-
matic power is used virtually only for the actuation of grippers.

B-48
Robot drive units Festo Didactic
BP70
B3

The previously described exercise regarding robot drive units consists of the
subfunctions of driving, transmitting, recording and decelerating. Each of these
subfunctions is executed by means of the corresponding subsystems, whose
interaction constitutes the robot drive unit. Fig. 3/1 provides a further illustration
of the coordination of the robot drive unit into the structure of the robot arm.

Robot arm

Robot base

Robot axis

Housing

Robot drive

Guide system
Drive motor
Tool flange
Gears

Displacement encoder

Brake

Fig. 3/1: Subsystem structure of robot drive units

B-49
Robot drive units Festo Didactic
BP70
B3

In the case of electrical robot drive units, these are classified as follows:

Subsystem Subfunction
Electric motor Actuating
(Drive motor) Converting electrical power into mechanical
actions
Gears Transmitting
Coupling and transmitting of torques;
Conversion of movements
Displacement Measuring
encoder Measuring of length and/or rotational angles;
Conversion of movements
Brakes Decelerating
Transmission of torques; Conversion of power
Table 3/1: Subsystems of a robot drive unit

Fig. 3/2 illustrates the typical configurations of the subsystems of an electrical


robot drive unit.

6 5 4 7

8 9 10

11

1 Rotationally operating robot drive unit 6 Gears


2 Linear-operating robot drive unit with spindle 7 Displacement encoder
3 Linear-operating robot drive unit with toothed belt 8 Spindle
4 Brake 9 Carriage with nut
5 Motor 10 Linear guidance
11 Toothed belt

Fig. 3/2: Assembly of a robot drive unit

B-50
Robot drive units Festo Didactic
BP70
B 3.1

With all three types it can be seen that the displacement encoder does not
record the motion direct, but the actual position of the motor. Inaccuracies in
the gears or the shaft are not detected. Continually occurring inaccuracies are
compensated by the controller.

The described functions of robot drive units require electrical drive motors with 3.1 Drive motors
very specific characteristics. As such these determine, amongst other things,
the necessary acceleration forces along the axis as well as the type and size
of the drive motor: This often requires a motor with a comparatively high
torque and low moment of inertia. A drive motor should produce the lowest
possible moments of intertia during the motion of the robot: This requires a
motor which is as light as possible. As the rotational speeds of the axes are
relatively small – i.e. the speed of rotation is generally in the region of approx.
0.5 rotations per second – the operating speed of the motor should also be as
low as possible so that simple reduction gears can be used. Moreover,
momentary overloads will occur, which necessitate motors absorbing the re-
sulting rise in operating temperature. Additionally the drive motor should be
economical in price, sturdy and require little maintenance.

These characteristics are in the main fulfilled by D.C. motors, which are avail-
able in designs with comparatively low moments of inertia and high torques.
They are therefore the drive motors which are used predominantly in industrial
robots. D.C. motors of this type are categorised according to the type of rotor,
into high-speed, disc-type or torque motors, see also Fig. 3/3. Of these types,
it is the disc-type rotor which is the most frequently used drive motor in robots,
see also the next section concerning D.C. motors.

However, there has been a recent trend, albeit a minor one, toward the use of
A.C. servomotors in industrial robots. This is mainly where the positioning ac-
curacy required of the robot is low, such as is generally the case with gantry
robots. Because of its low cost, sturdy design, low maintenance requirements
and easy adjustability via frequency converters, this type of motor is highly
suitable for this type of application. Further explanations can be found in the
section dealing with A.C. servomotors.

Stepper motors are not used for industrial robots. However, for reasons of cost
and space they are often used in training robots for teaching and training pur-
poses. Because of the paramount importance of D.C. motors in robot drives,
these will be discussed in greater detail in the next chapter.

B-51
Robot drive units Festo Didactic
BP70
B3

D.C. motors Fig. 3/3 below provides an overview of the current trend with D.C. motors,
which illustrates the basic pattern of development: i.e. the conventional design
provides the initial type forming the basis for the development of the special
designs illustrated. From this emerged the brushless D.C. motors.

+ 1

2a 2b 2c

3a 3

1 Conventional design 3 Brushless D.C. motor


2 Special design 3a Sensor for angular bearing
2a Fast rotor
2b Disc rotor I Coil
2c Torque motor II Permanent magnet

Fig. 3/3: Overview of D.C. motors

Fig. 3/3 also illustrates the design principle behind each type of motor ex-
plained below.

B-52
Robot drive units Festo Didactic
BP70
B 3.1

Conventional designs
The fields required for the operation of the motor, i.e. the exciter field and the
armature field, are generated via wound coils in the stator (exciting coil) as
well as in the rotor, also known as slide or armature (armature coil). Field coils
and armature coils as well as any other possible coils are – depending on the
motor performance requirement – connected either in series or parallel (series
connection, bypass, compound-wound) and are connected to the D.C. current
system; see also DIN 42 401. This means that the two phases of the D.C.
current have to be applied to a rotating system, i.e. the armature. This is
achieved by means of graphite brushes, applied to the commutator, also de-
scribed as the current converter or collector. The current transmission is also
known as commutation. In addition, the beginning and ends are connected
inside the commutator. This method of commutation has, amongst other
things, the disadvantage that once the brushes are worn they have to be ex-
changed.

The type described here merely serves to provide an introduction to the de-
signs mentioned below; it is not even used as a robot drive.

Special designs
With these motors too, current conversion or commutation is effected on to the
armature, see Fig. 3/3. The exciter field, however, is not generated in the coils
through the passage of current, but is available in permanent magnets which
are arranged in the stator. Materials for permanent magnets must have high
coercive forces with the maximum possible remanence and must be insensitive
towards undesirable, demagnetising effects such as vibrations, heating and ex-
ternal magnetic fields. Due to the permanent magnets, the magnetic flux in the
stator remains constant; the armature voltage VA is changed in order to
change the speed. As Fig. 3/4 shows, it is the torque/speed characteristic
which is subject to parallel displacement.

B-53
Robot drive units Festo Didactic
BP70
B 3.1

Torque
M
VA1 < VA2 < V A3 < VA4

VA4
V A3
VA1 VA2

Rotational speed n

Fig. 3/4: Speed characteristic of the D.C. motor

The following also applies in the case of these designs


• the rotational speed n is proportional to the armature voltage VA
• with a constant armature voltage VA the torque M reduces in proportion to
the rotational speed n
• the armature current IA is proportional to torque M.

On the whole, this linear performance guarantees the effective control and
regulation characteristics of the D.C. motor.

Low speeds can be achieved by means of a regulating device. A reversal of


the direction of rotation can be achieved by reversing the polarity of the arma-
ture current.

As D.C. motors function via an A.C. network, the alternating current has to be
converted. This is why D.C. motors are operated with current converters (thyr-
istor or transistor controllers), which convert the supply voltage into a high
wattage and variable armature voltage VA, often referred to as motor VM.

B-54
Robot drive units Festo Didactic
BP70
B 3.1

Another important characteristic of robot drive units is the dynamic speed char-
acteristic, i.e. the speed with which the speed or rotation reacts to changes in
the motor voltage.

A characteristic value for this is the mechanical time constant Tm, which is
specified in the form of a time unit – usually in ms – and reduces, the smaller
the dynamic mass to be accelerated and the steeper the gradient of the char-
acteristic curve. Thus the time constants of the special designs illustrated
range between approx. 4 ms to 40 ms at a capacity of approx. 2 kW. This is
why servomotors – i.e. particularly fast-reacting drive motors – have either
small dynamic masses or very steep characteristic curves.

On the one hand, it is possible to achieve small dynamic loads by means of


slim or elongated types of rotor. Because of the relatively high nominal speeds
(approx. 1800 r.p.m. to 5000 r.p.m.) these are also known as fast rotors. On
the other hand, the same effect can be achieved, i.e. small dynamic loads and
consequently small moments of inertia, by means of disc shaped, non-ferrous
rotors. In contrast with fast rotors these have the advantage of being small in
size.

With disc rotors the current conductors are made of copper or in special cases
of aluminium and are bonded, laminated or embedded on a disc in the form of
a plastic disc winding. The rotor disc is located between the field magnets, see
3/3, whereby reduced time constants are achieved, although due to poor heat
dissipation, extended overloads would not be permissible.

The overall advantages provide the reasons why the disc rotor motor is used
predominantly as a robot drive unit.

Torque motors have a relatively high centrifugal mass compared with the fast
rotor due to a distinctly larger rotor diameter, see Fig. 3/3. However they do
have an extremely steep characteristic curve at relatively low nominal speeds
and high torques. As such, a torque motor of approx. 2 kW, for instance, has a
nominal speed nN of e.g. 600 r.p.m. and a nominal torque MN of approx.
30 Nm. By comparison, a disc rotor of identical performance, for instance, has
nN = 1800 r.p.m. and MN = 10 Nm.

Finally, there is the brushless D.C. motor. Unlike the motors described above,
the permanent magnets for the exciter field are bonded on to the external
surface of the rotor, whereby the rotor is largely hollow. The "Armature wind-
ing" is in the stator.

B-55
Robot drive units Festo Didactic
BP70
B 3.1

With this type, commutation is no longer effected mechanically, but electroni-


cally. In this way, a special sensor – also known as a resolver, detects the
position of the angle of rotation of the rotor. This is provides the basis for a
microprocessor, for example, to calculate and control the current required for
the stator winding.

The disadvantage is the relatively high cost, principally for the electronic com-
mutation, yet on the other hand this has the advantage of less maintenance.

Three-phase servomotors Three-phase servomotors are frequently used as robot drives in the form of
synchronous motors. They feature excellent dynamic speed characteristics, re-
duced weight, low moments of inertia and permit a complete speed range of
approx. +5000 r.p.m. to -5000 r.p.m. These speed ranges can be achieved via
a frequency controller with prestored acquisition of the angular position of the
rotor. With this design too – analogous to brushless D.C. motors – the perma-
nent magnets are bonded to the practically hollow rotor and secured by means
of a glass fibre tape against the high centrifugal forces. Commutation is also
effected analogous to brushless D.C. motors. Fig. 3/5 illustrates a block diag-
ram of the speed adjustment of a three-phase servomotor.

1 2 3 4 5 6

L1
L2
L3

n setpoint

n actual 8 7

1 Rectifier 5 Angle generator


2 D.C. intermediate circuit 6 Tacho-generator
3 Pulse-controlled three-phase inverter 7 Electronic control of the magnetic flux in the stator
4 D.C.motor 8 PI controller

Fig 3/5: Speed adjustment of a D.C. servomotor by means of rotary angle-


dependent rotary field control

B-56
Robot drive units Festo Didactic
BP70
B 3.2

Within the subsystem of a "robot drive unit", the subsystem gears perform the 3.2 Gears
subfunction of transmitting, i.e.
• the transmission of the available torque at the shaft of the drive motor to
the robot axis
• a speed conversion (increase/decrease) of the speed of the drive shaft
• a necessary change in motion may need to take place, e.g. from a rota-
tional motion to a translatory motion.

If the nominal speed of the motors is 3000 r.p.m. – which is often the case in
practice – then gears with a reduction ratio of approx. 100 : 1 are required.

Due to the acceleration forces for example, the gears used for industrial robots
must meet the following requirements:
• small overall dimensions
• low moments of inertia
• space saving gear units
• transmit motion free of play
• transmit motion efficiently and evenly
• and require little or no maintenance.

Minimal play within the motion transmitting components of the gear unit is
crucial with regard to the positioning accuracy of the robot. If there is backlash
between gears, then the corresponding axis has a tendency towards uncon-
trolled oscillation, plus this also leads to errors in position detection during
reversal.

B-57
Robot drive units Festo Didactic
BP70
B 3.2

Types of rotary gears The requirements listed in the previous chapter are largely fulfilled by
• Harmonic Drive gears
• Cyclo gears
• Planetary gears

Harmonic Drive gears are part of the group of shaft gears. These consist of an
oval driving pulley, which is ball or roller guided and presses a flexible, exter-
nally geared sleeve into a fixed, internally geared ring.

Due to the oval shape of the driving pulley, the external gearing of the flexible
sleeve only comes into contact with the internal gearing of the fixed ring at two
opposing points.

The number of teeth on the flexible sleeve is slightly reduced by one or two
teeth compared with the fixed ring. For instance, if the number of teeth of the
externally geared, flexible sleeve is 200 and that of the internally geared, fixed
ring is 202, then the sleeve is rotated by 2 teeth when it is moved on inside
the ring in the course of one rotation of the oval driving pulley. This corre-
sponds to 1/100 of a rotation, i.e. a reduction ratio of 100 : 1.

In some rare cases, cyclo gears and planetary gears are also used, though
they will not be discussed in this instance as these are not very commonplace
in industrial robots.

Types of linear Robot axes are often required to perform linear travel e.g. in the case of gantry
transmission robots. In this case, linear transmissions are required.

Two types of drives have become accepted for these types of robot axes: The
spindle as well as the belt drive. The construction requirements of a spindle
drive are considerably higher and this is therefore used for highly accurate
drives. The belt drive represents the more cost effective solution. Both systems
require an additional guiding system for the linear movement.

The spindle drive consists of a spindle and the spindle nut. Depending on the
design, the nut then performs the linear and the spindle the rotational move-
ment or vice versa. Only recirculating ball spindles are used. Inside the nut,
balls run between the thread of the nut and the spindle, see Fig. 3/6. This
produces a rolling motion which considerably increases efficiency. The nut is
preloaded in order to prevent any play between the spindle and the nut.

B-58
Robot drive units Festo Didactic
BP70
B 3.2

1 2 3

4 5 6 7

1 Basic body 5 Spindle


2 Linear guide rail 6 Spindle nut
3 Guide sleeve with bearings 7 Recirculating ball bearing
4 Ball bearing for spindle

Fig. 3/6: Design of a recirculating ball spindle

The belt drive consists of two belt pulleys and a toothed belt. This consists of a
plastic base material with a tooth profile as well as internal cord or steel bands.
The purpose of the bands is to take up the tensile forces of the belt. The teeth
of the plastic belt ensure a synchronous transmission of the rotation from one
pulley to the other, see Fig. 3/7.

B-59
Robot drive units Festo Didactic
BP70
B 3.3

1 2 3

4 5 6

1 Basic body 4 Belt pulley


2 Linear guide rail 5 Belt attachment
3 Guide sleeve with bearings 6 Toothed belt

Fig. 3/7: Design of a toothed belt drive

3.3 Displacement One important condition for the open-loop control and closed-loop control of
encoders robot drive units is the continous measurement of rotation angles in the case
of rotational robot axes. The measured variables then have to be converted
and transmitted to the controller of the industrial robot.

This subfunction is executed by means of displacement encoders, whereby the


actual measuring system is usually not direct on the axis, but on the side of
the motor facing away from the gears, see Fig. 3/2. If the motor is turned, then
this angle deviation is directly detected and processed whereas, as a result of
the gear play, the mechanical part of the axis is not accounted for. Therefore,
the actual position of the axis and that signalled by the robot do not coincide.

B-60
Robot drive units Festo Didactic
BP70
B 3.3

Table 3/2 below provides an overview of current displacement encoders.

Operational Signal Kinematics Method of Resulting


principle type measurement system
electro- analogue linear absolute Linear
mechanical rotational absolute potentiometer
digital rotational incremental Rotary
potentiometer
Commutator
with brushes
photo- digital linear incremental etched glass
electric rotational incremental disc/ rod
linear absolute sensed by
rotational absolute means of
through-beam
sensor
inductive digital rotational absolute disc fitted with
magnets,
interrogated by
a Hall sensor

Table 3/2: Systematic classification of displacement

Analogue displacement encoders are for instance linear or rotary poten- Types
tiometers, whereby the change in the ohmic resistance is tapped in the form of
an analogue signal. This must then be converted into a digital signal for the
robot controller by means of a signal converter. This disadvantage is one of
the reasons why displacement encoders are not used in robots.

Displacement encoders of linear design are used mainly for machine tools.
They are not used in the sphere of industrial robots.

In the area robotics, the use of digital displacement encoders, also known as
encoders or shaft encoders, have become accepted with rotational kinematics.
These systems transmit a digital code to the controller. Depending on the type
of measurement the code either represents a series of pulses or a coded
position signal. Typical signal voltages of shaft encoders are either 5 V or 24 V
depending on the actual controllers. The signal is generated either inductively
or photoelectrically.

B-61
Robot drive units Festo Didactic
BP70
B 3.3

Inductive and In inductive shaft encoders, a slotted metal disc rotates through a magnetic
photoelectric mode field. The magnetic field fluctuations are registered and converted into electri-
of operation cal pulses. The advantage of this encoder lies in its sturdy mechanical design.

Photoelectric or in short optical encoders have a glass disc, on which markings


are etched on to several graduated circles. The markings represent the coding
of the position. This disc runs through a series of through-beam sensors which
sense the markings on one graduated circle at the time. Markings etched on a
graduated circle are known as tracks.

3
2 1

1 Light source 5
2 Orifice
3 Digital output signal
4 Phototransistor
5 Code disc

Fig. 3/8: Assembly of an optical shaft encoder with an etched track

Shaft encoders are again divided into incremental and absolute shaft encoders
depending on the type of coding used. Incremental shaft encoders can only
establish the position of an axis relative to a reference point. Absolute measur-
ing systems detect the position direct.

B-62
Robot drive units Festo Didactic
BP70
B 3.3

Three signal tracks are etched on to the disc of the incremental shaft encoder. Systems with incremental
One track is for the purpose of position detection, one track provides the infor- displacement measurement
mation concerning the direction the drive and one track provides the signal for
the synchronisation between the encoder and the controller.

5 1

1 Track A
2 Track B
3 Track C (zero track)
4 Etched line markings
5 Reference markings

Fig. 3/9: Disc of an incremental generator

Position detection takes place by means of adding up the individual counting


pulses within the controller. If the disc moves past the through-beam sensors,
then each light-dark switching triggers a counting signal. For example, if 360
graduations have been entered on the track, the controller will receive 360
pulses for one rotation. This corresponds to a resolution of a rotation angle of
one degree per pulse. Nowadays, encoders with up to 8000 graduations per
track and a resolution of 0.05 degrees per rotation are not uncommon.

B-63
Robot drive units Festo Didactic
BP70
B 3.3

From this simple signal sequence, it is not possible for the controller to detect
in which direction the axis travels, which lacks the information as to whether it
should add the values to the actual position or subtract them from the actual
position. This information is obtained by the controller via the evaluation of the
first and the second track. The second track has the same number of gradua-
tions as track one. However, the alignment of the graduations of the second
track is staggered compared to those of the first track. The controller detects
the reversal in the direction of rotation as a result of the change-over.

If there is a voltage drop, the robot controller loses the information from the
A1 position counter and therefore the actual position of the axis. When the device
is switched on, the mechanical position must be synchronised with the position
counter of the controller. This process is known as the reference position
travel. This reference position travel is also described as nest travel. The refer-
ence travel must be repeated every time the device is switched on or after
every detected motion interference. To this end, the third track (track C or Zero
track) has a single line marking, which is known as the zero track signal. In
addition, the controller requires two further signals to detect the position of the
robot axis. Usually, the limit switch signal is evaluated for this purpose,
together with the signal of one of the additional switches fitted to the axis, i.e.
the reference switch.

Electrical signals are subject to interference. Electromagnetic fields of other


electrical installations can affect high frequency signal sequences. In order to
minimise this type of error, it is not just the signals of tracks A, B and C, but
also the inverted values which are transmitted to the controller. For example, in
the event of the wire for the inverted output signal A breaking, signal A and the
inverted signal at times maintain the same value. The controller can detect this
error and stop the axis motions. Similarly, electromatnetic interference fields
lead to an equal signal of the actual and the inverted signal. The controller
also interrupts the axis motion in the event of this type of interference.

B-64
Robot drive units Festo Didactic
BP70
B 3.3

7
V
1 Sig
0V
0V
2
-V
Sig
V
3 Sig
0V
0V
4
-V
V
5 Sig
0V
0V
6
-V

1 Track A
2 Track A with negating output signal
3 Track B (repositioned by 90 degrees for direction identification)
4 Track B with negating output signal
5 Zero track signal (occurs once per rotation)
6 Zero track signal with negating output signal
7 Angular displacement
VSig Signal voltage

Fig. 3/10: Complete signal sequence of a phase-angle sensor

A disadvantage of incremental displacement measurement is the necessary


reference position travel prior to each new start of the robot. The advantages
of these systems lie in their favourable pricing, minimum wiring requirements
and also the simple controller configuration which does not require the decod-
ing of signals.

B-65
Robot drive units Festo Didactic
BP70
B 3.3

Systems with absolute Absolute shaft encoders signal the actual position of the robot axis to the robot
displacement measurement continuously in the form of a code such as for example the binary code. The
controller decodes this information and prepares this for the axis control loop.
By indicating the position as an actual value, the reference position travel can
be dispensed with. Instead, a mechanical synchronisation takes place between
the shaft encoder and the axis position after the initial assembly, as well as
after any maintenance or repair work. Fig. 3/11 shows the disc construction of
a shaft encoder with absolute displacement measurement

1 Transparent glass disc


2 Etched marking

Fig. 3/11: Shaft encoder disc with absolute position detection

The disc of an absolute shaft encoder requires considerably more signal tracks
than an incremental displacement type. The tracks are evaluated by means of
through-beam sensors, which are configured in radial line. The combination of
light and dark switching signals represents the numeric value of the axis posi-
tion. Different codes, such as for instance the capped gray code or the binary
code, are used for coding the axis position. An absolute operating encoder has
to be designed in such a way that the disc performs a maximum of one rota-
tion during the motion of the robot axis from one end to the other end of the
axis.

B-66
Robot drive units Festo Didactic
BP70
B 3.5

Absolute displacement encoders are usually maintenance-free. If, after an ex-


tended working period, the approach positions change, then this may require
an adjustment of the shaft encoder. Either the angle of the displacement en-
coder to the mechanical position of the axis is to be turned via an adjusting
screw on the encoder, or the controller is given a new correction value, which
it stores permanently.

Brakes are for the purpose of retaining the individual axis in a momentary 3.4 Brakes
position whilst in the de-energised state. They are actuated either pneumati-
cally, electrically or hydraulically. Only brakes operating on the fail-safe prin-
ciple are used, i.e. they will operate even in the most unfavourable operating
conditions. The brakes are constructed in such a way that in the absence of
any actuating power, the decelerating force will be produced via a preten-
sioned spring.

All the subsystems required for the implementation of the function "Driving of a 3.5 Characteristic
robot axis" are contained in the RV-M1, however, in part with different perfor- features of the
mance data. For example, in the case of the D.C. motor used for electrical RV-M1 robot
actuation, this is a 24 V hollow rotor type. The transmission comprises one
harmonic gear for each of the five axes. The displacement encoder used oper-
ates on the digital-incremental principle using the optoelectric mode of oper-
ation in the form of a pulse encoder. The shoulder and elbow (axis J2 and J3)
are decelerated electromagnetically.

Details regarding performance data and design types are available in the RV-
M1 manual, in particular in Chapters 1 and 4.

B-67
Robot drive units Festo Didactic
BP70
B3

B-68
Open and closed-loop control of industrial robots Festo Didactic
BP70
B4

Open and closed loop control


of industrial robots

B-69
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.1

The individual robot axes must be travelled at a required speed to a predefined


position, whereby the motions of the axes have to be coordinated. The necess-
ary data for this, e.g. speeds, positions and sequence are predetermined and
monitored by the controller. The required subsystems largely form part of the
robot controller.

First, there is an introduction of the subsystems of a robot controller. Then, the


controllers are categorised according to their performance capability and mode
of operation. Finally, the process of axis positioning is to be explained in the
chapter concerning open and closed loop control.

4.1 Subsystems of the Apart from the robot arm, the robot controller is the second most important
robot controller and module of a robot. It is normally erected separately from the robot arm and the
their subfunctions two subsystems are connected together via cables.

The robot controller consists in the main of 6 subsystems:

Subsystem Subfunction
Computer – interprets the control program
– coordinates all movements of the robot axes
Control panel – facilitates the setting of the modes of operation
– starts and stops the robot
– displays the operational conditions
Position – maintains the individual robot axes at a specified position
controller
Drive – supplies power to the drive motors
amplifier – monitors the speed of the robot axes
Input and – switches the outputs
output unit
Manual – enables the user to move the robot manually
control device

Table 4/1: Subsystem and subfunctions of a robot controller

B-70
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.1

The computer represents the actual "brain" of the robot. This is where all the Computer
information from the position controllers, drive amplifiers, control panel, manual
control device and input and output units is collected. This information is re-
corded and compared with the robot program. From the information recorded B 5.2
and the robot program instructions, the control statements are then generated
for the position controller, drive amplifier, etc.

In addition, the computer monitors the above mentioned modules for errors
and controls the manual control panel display by displaying a corresponding
error message.

Apart from these monitoring and informing functions, the positioning com-
mands for the robot axes are the main task of the controller. In addition, the
computer interprets the robot program and, from the end position stored
therein, calculates each robot movement as well as the set position, which
B 2.5
each individual axis is to approach. Because the end positions can also be
specified in a fixed basic coordinate system, the positions of the points have to
be converted into individual axis motions. This is carried out via an intensive
coordinate transformation, which is also carried out by the computer.

The control panel equipment on the control cabinet varies greatly for the indi- Control panel
vidual robot types. The minimum equipment of such a panel comprises a
switch for switching on of the supply voltage, two switches for starting and
stopping the robot working cycle, a switch for acknowledging error conditions
as well as an emergency-stop button. More complex control panels consist of
additional display units or monitors as well as additional input elements in the
form of a keyboard. Fig. 4/1 illustrates a complex control panel.

From these panels, it is possible to read all error messages and operational
conditions. Programming tasks can be executed via the additional keyboard.

B-71
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.1

Fig. 4/1: Control panel on a robot controller (Photo: Siemens factory)

B-72
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.1

Each robot axis is monitored via its own position controller. The position con- Position controller
troller receives the actual position of the robot axis from the displacement en-
coder. It compares this position with the predefined set position determined by
the computer. From this information, the position controller calculates the man-
ipulating variable for the actual drive or servoamplifier of the corresponding
robot axis. The manipulating variable comprises the set speed as well as the
direction of movement of the axis in question. If the position controller detects
faults in the axis control, it stops the robot axis and feeds back an error mess-
age to the computer. It is, for example, an error if the axis is to be positioned A1
even though no reference travel has yet been executed.

In addition, each robot axis is allocated a drive amplifier. This has the task of Drive amplifier
supplying the electric motor with the correct operating voltage in accordance
with the speed specified by the position controller, whereby the supply voltage
is kept constant.

If the speed of the robot axis is reduced, for instance as a result of a load on
the robot, then this is not detected or corrected by the drive amplifier. For this
B 4.3
reason, the majority of robots are equipped with a so-called servoamplifier. A
sensor signals the actual speed of the robot axis. The amplifier, in contrast
with the drive amplifier, compares the actual speed with the set speed and
adjusts the speed of the robot axis on the basis of this comparison. To do this,
the operating voltage of the electric motor is either increased or reduced. If the
preset speed cannot be reached, then the drive amplifier sends back a fault
signal to the computer.

In the execution of its tasks, the industrial robot operates in conjunction with Input and output unit
peripheral devices. For example, the presence of a workpiece has to be de-
tected by means of sensors or moved by clamping cylinders, etc in relation to
the working process. The statuses of the individual sensors are evaluated by
input and output units and transmitted to the computer, where the information
can influence the operational robot program. If, for instance, a sensor detects
that a workpiece has been incorrectly processed, then the robot will remove
the workpiece from the working process. If the sensor signals an acceptable
part, then the robot places the workpiece, for example, into a pallet. If, for
instance, the workpiece has to be clamped, then the input and output unit
controls the valve for the clamping cylinder. The signal voltage used is nor-
mally 24 V D.C.

B-73
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.1

Manual control device With the manual control device the user can position the robot by hand. Similar
to control panels, manual control devices vary in performance. Robot axes can
be travelled separately with any manual control devices (also known as Teach
A2 box, Teaching box). In addition, almost all manual control devices facilitate the
movement of a robot along the basic coordinate system as well as the pro-
gramming of simple motion sequences. Not all programming commands of the
actual controller can normally be input via the manual control device. The mis-
sing commands are input into a PC either via the control panel described or
via an external computer.

Some manual control devices have a joy stick for moving the robot axes in-
stead of individual keys.

A display on the manual control device indicates the error messages, actual
positions of the robot axes or individual program steps.

Each manual control device must have an emergency-stop switch. In addition,


a large number of manual control devices have an enabling (safety) switch or
button. Only when this button has been pressed in addition to a positioning
command, does the robot arm move. If the enabling button is released for any
reason, then the robot arm remains stationary.

If the manual control device is switched on, then the controller automatically
limits the maximum speed of the robot motion. This ensures that the operator
of the manual control device can avoid a robot movement at any time.

B-74
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.1

Fig. 4/2: Manual control device and controller of a robot (Photo: Adept factory)

B-75
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.2

4.2 Performance Robots are used for a variety of automation tasks. The demands on a robot
of a robot controller controller therefore greatly vary ranging from a simple handling task to com-
plex, event-controlled motion sequences.

A relatively simple task is palettising. The robot picks up the parts to be palle-
A8 tised at one point and deposits them again at a specific point on the pallet.
The trajectory, which the robot travels between the two points, is of no interest.

Greater requirements are placed with a task such as "applying adhesive". In


this case, the robot is to travel a fixed path made up , for instance, of straight
A 11 lines and curves, whilst maintaining a constant rate of movement. If it moves
more slowly, the layer of glue applied becomes thicker, if it moves too fast, the
layer becomes thinner or the adhesive film is broken.

The highest requirements placed on a robot controller are if the trajectory to be


travelled is known only approximately. In this case, the exact course of the
path has to be detected by a sensor and the trajectory calculated and cor-
rected with the help of the measuring results.

Three types of controller arise from this:

Controller type Task


Point-to-point Moves from one position to another without
control maintaining a known trajectory
Continous-path Moves with the help of a specified path
control
Adaptive control Adapts its trajectory to actual reality on the basis of
measuring results.

Table 4/1: Overview of controller types

Modern controllers are of modular design. In this way, it is possible to reset a


controller from point to point control to contour control with the addition of new
modules (printed circuit boards).

B-76
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.2.1

A robot arm equipped with a asynchronous PTP control can only be moved 4.2.1 Point-to-point
from a first to a second point. The trajectory between the points cannot be controllers
influenced by the user.

If the robot arm is moved, then all the robot axes are set in motion simulta-
neously, whereby each robot axis is to travel a different path distance. In this
way, some axes reach their target position very quickly, whilst other axes have
not yet completed their motion. Fig. 4/3 illustrates the speed profile for three
sample robot axes.

1
2
3

t0 t1 t2 t3 t

1 Speed profile - Axis 1 t0 Start time of all axis motions


2 Speed profile - Axis 2 t1 Point in time of motion end - Axis 1
3 Speed profile - Axis 3 t2 Point in time of motion end - Axis 2
t3 Point in time of motion end - Axis 3

Fig. 4/3: Speed profile of a robot controlled by a PTP controller

All the robot axes start the motion at time t0 and reach their target positions at
different times t1-t3. As all the robot axes move at a maximum speed, this
results in a very imbalanced robot motion.

B-77
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.2.1

The synchro-PTP control compensates the different motion times of the robot
axes. A synchro-PTP controller is also described as an axes interpolated PTP
controller. It adapts the speed of all moving robot axes to the speed of the
slowest robot axis. All robot axes start and end their motion at the same time.
Robot axes, which only have to execute short motions, move at the lowest rate
of movement. Fig. 4/4 illustrates the speed profile of three robot axes which
are controlled by a synchro-PTP controller.

t0 t1 t

1 Speed profile - Axis 1 t0 Point in time of start of all axis motions


2 Speed profile - Axis 2 t1 Point in time of end of all axis motions
3 Speed profile - Axis 3

Fig. 4/4: Speed profile of a robot controlled by a Synchro-PTP controller

This type of axis motion results in a more balanced movement of the robot. It
also leads to a reduced load of the robot axes and thus less wear. The re-
quired computing capacity of the controller increases due to the fact that not
only the new target positions but also the adapted speeds for each robot axes
which have to be calculated.

B-78
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.2.1

If large distances are travelled with a PTP controller, you will be surprised by Creating an approximate
the movement the tool flange follows from its start to target position. If the path curve
distances to be travelled between individual points are very short, then the
robot motion can be easily evaluated. This behaviour of the robot can be
turned to advantage for the approximate traversing of paths. To achieve this, A 11
the planned path is divided into interpolation points at short intervals. The robot
moves from one interpolation point to the next, whereby the motion between
interpolation points, in keeping with the behaviour of a PTP controller, is not
defined. Fig. 4/5 illustrates a path curve around an obstacle which is aligned
by means of a few PTP motions.

P2
2
S5

S3 S4

S2

S1 1
P1

P1 Start point 1 Curved path approached


P2 End point 2 Robot motion without specified path
S1-S5 Interpolation points

Fig. 4/5: Approaching a curved path via short robot motions

In this way, an approximate contour shaped movement can for instance facili-
tate the bypassing of obstacles. The robot first approaches working position 1
and for example picks up a workpiece, which is to be deposited immediately
after the obstacle (2). The approximate path movement between the two points
prevents a collision with the obstacle. Some PTP controllers have commands
whereby the above mentioned curves can be very easily specified. For this,
the start and end points of the movement as well as the number of interpola-
tion points are communicated to the controller.

B-79
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.2.2

4.2.2 Continous-path A robot arm, working in conjunction with a continous-path controller, is able to
control move along defined, geometrical paths. The continous-path controller is also
known as a CP controller, whereby not only the path executed by the tool
flange or the TCP, but also the speed along the programmed path and in
many cases the orientation of the tool or the tool flange can also be pro-
grammed in addition to the specified path. Fig. 4/6 illustrates a robot path
made up of curved and linear segments.

1
P1 P2

P3
1

2 P4

1: Linear path movement


2: Circular movement

Fig. 4/6: Curved path of a robot

The path segments are specified by the programmer in the form of the start
and finish position as well the type of path curve, e.g. circular or straight. From
this information, the robot controller calculates all the intermediate points (inter-
polation points) as well as the rate of movement between these points.

The interfaces of the individual path sections can be variably linked together.
One possibility is that the robot reduces its speed to zero at the end of each
path segment and then accelerates again during the movement along the next
segment. Another possibility is to change from one path segment to another
either at maximum or partially reduced speed. The transient condition from one
path segment to another can often be programmed in stages.

B-80
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.2.2

The programmer cannot process a programmed path segment in one oper- Creating a curved path
ation. It divides the path segment into numerous small part segments by calcu-
lating intermediate points at short intervals along the path curve.
The type of robot motion can be varied between the intermediate points. The
simplest motion between two points is a straight movement. The controller
calculates a new speed and the direction of movement to the next point at
each intermediate point. The division of a path curve into small segments and
the interlinking of these points by means of short defined movements are
known as interpolation. If the intermediate points are linked by means of
straight path elements, then this is referred to linear interpolation (see
Fig. 4/7), whereby the speed along the trajectory is controlled continually.

P2

P2
P1

P1 P2

P1 1

P1 Start point
P2 Finish point
1 Linear motion sections between the intermediate points

Fig. 4/7: Linear interpolated curved path

If the robot moves along a circular path, then the optimum method of adapting
to the circular movement is not always by means of short straight movements.
To obtain a better adaptation to the circular movement, the interpolation points
are linked together by means of circular arc segments. This is known as circu-
lar interpolation.

B-81
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.2.3

By splitting the curved path into individual segments of movement, the control-
ler has to calculate the new directions and rates of movement very quickly.

So that individual path sections are no longer recognised as individual move-


ments and the robot moves along the specified path without juddering, the new
axis positions must be calculated at least every 60 ms. Good controllers pro-
vide a data set for the position controllers every 10 ms.

Orientation of the work- Not only the movement of the robot flange or the robot tool, but also the
piece along a curved path orientation of these in relation to the trajectory is of interest in the case of
many robots.

One application where this function is required is contour welding. Depending


on the type and position of the welding seam, the welding torch has to be
orientated at a different angle to the workpieces. Only then is it possible to
guarantee an optimum welding seam.

Equally, it is possible to orientate the robot tool towards a circular path using
circular interpolation. Whether the orientation towards the circle is to remain
the same or change in accordance with different conditions, can be determined
in the robot program.

4.2.3 Controller with Up to now, only robot motions which can be specified exactly have been intro-
adaptive closed-loop duced. The start and finish positions as well as the type of movement between
control these positions is specified by the robot program. This motion is then repeated
by the robot according to its precision of movement.

In many applications the actual start or target position or the curve between
these points is not known precisely. In these cases, sensors are used which
detect the respective position and correct the robot motion according to the
measured values.

B-82
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.2.3

One example of this is contour welding. Prior to the parts being welded con-
tinuously, they need to be tack welded. Due to the wide tolerances of this
process, it is possible on the one hand, for the starting point of the welding
seam to be displaced by several millimetres or, on the other hand, for the
seam between the two components to vary considerably from that planned,
due to the effects of heat.

This is why the welding torch on the robot is equipped with a sensor, which
detects the beginning of the seam as well as the actual course of the seam
during the welding process. Fig. 4/8 illustrates the deviations between the
planned and the actual seam as well as the starting point of the welding seam
to be found.

2
P2

P1 3
4
P3

1 programmed welding seam 4 programmed start of seam


2 completed welding seam 5 P1, P2 and P3 contact points of the torch for
3 located seam start finding the actual start of the seam

Fig. 4/8: Deviation of the sensor-guided robot motion from the programmed
robot motion

The robot moves near the intended starting point of the seam. The seam start-
ing point is searched by the sensor and corresponding search techniques, e.g.
"approaching with the sensor the parts to be welded". The welding torch is
ignited and commences to weld along the planned seam. If the sensor detects
a deviation from the planned seam, then the robot motion is corrected on the
basis of the measuring data from the controller.

B-83
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.2.4

4.2.4 Special functions If the robot arm is moved from one point to another, then all the robot axes are
of a controller initially accelerated and then decelerated to zero speed shortly before reaching
the point. This process is repeated for the movement to the next point. These
Making a robot motion processes of acceleration and deceleration are very time consuming. If it is not
continuous essential for a point to be approached precisely, then the motion can be
smoothed out, i.e. the controller only approaches the point approximately and
does not decelerate for this point. This is known as continuous motion. How
accurately the point is to be approached, can be communicated to the control-
ler via the robot program. Fig. 4/9 illustrates a precise and a continuous robot
motion.

P3

P2

1
2
P1

1 Precise motion path


2 Continuous motion path

Fig. 4/9: Continuous and precise robot motion path

B-84
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.3

One special function, which not all robot controllers have, is the synchronisa- Synchronisation of the robot
tion of the robot motion with a movement of peripherals. This function is also with a moving peripheral.
known as conveyer tracking.

One small example explains this function. During the final assembly, an auto-
mobile on a conveyor line is conveyed past a robot at a constant speed. The
robot is then to assemble parts such as wheels or doors on the moving ve-
hicle. For this, the speed of the conveyor is transmitted continually to the robot
via a sensor controller. The controller constantly calculates the actual position
of the assembly spot on the car and corrects the movements of the robot arm.
Assembly time is reduced considerably due to the fact that the conveyor does
not need to to stopped during the assembly.

The previous chapter introduced the robot controller with its subsystems and 4.3 Open and
their functions. Here, the principles of open and closed-loop control are to be closed-loop control
explained using the example of a robot axis.
Open-loop control is a process whereby a technical device or usually a system Open-loop control
is prompted to act via a correcting variable. This system is the open-loop con-
trolled system. The action causes a change in the value of a controlled vari-
able. Open-loop control also means that the change in the control variable is
not controlled. Controlling is characterised by an open path of action.

Disturbance variable

Manipulated Control Controlled


variable path variable

Fig. 4/10: Block diagram of an open control loop

In the case of the control of an axis movement, the motor and the axis repre-
sent the open-loop controlled system. The voltage for the motor is the correc-
ting variable and the path travelled by the axis is the controlled variable. A
disturbance variable could be the fluctuation of the mains voltage, which also
influences the controlled system.

B-85
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.3

Closed-loop control Closed-loop control is a process, whereby a technical device or usually a sys-
tem is prompted to act via a correcting variable and with which the controlled
variable is controlled. This type of control requires a measuring device and a
control system. Closed-loop control is characterised by a closed path of action.

Disturbance
Manipu- variable
Setpoint lated Closed loop
value Closed loop variable Closed loop controlled variable
control control
device path

Actual value Feedback


Measuring device

Fig. 4/11: Block diagram of a closed control loop

In the case of closed-loop control of an axis movement, the motor and the axis
are the controlled system and the path travelled the controlled variable. An
optical incremental generator measures the actual position of the axis. This
measuring system measures the actual value of the controlled variable. The
control system, compares the setpoint value with the actual value of the axis
position and transmits a voltage level to the motor.

B-86
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.3

Axis with position and


speed control
1
Computer

Setpoint position
Position
s setpoint
Position Position controller
controller controller axis n Actual position
axis 1 axis 2
2 s actual

Setpoint speed
Servo- v setpoint
Servo- Servo- amplifier
amplifier amplifier axis n
axis 1 axis 2
3

Supply
to motor
V, I
Connection to Actual speed
the robot axis 4 v actual

G M T
5 6 7 8

Key: Signal flow


Energy flow

1 Computer 6 Motor
2 Position controller 7 Tacho-generator
3 Servoamplifier 8 Encoder
4 Mechanical power take-off
5 Gears

Fig. 4/12: Block diagram of information flow for a closed-loop controlled axis

B-87
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.3

Axis with closed-loop controlled speed and position are used, if the robot axes,
irrespective of external influences, are to be moved to a monitored position at
a controlled speed. This applies to the major part of robots. One exception are
robots with stepper motor drives.

Fig. 4/12 illustrates a block diagram of the information flow for a position-con-
trolled axis. It consists of a drive, e.g. motor, linear gear unit, encoder and
tachogenerator, the position controller with the task of maintaining the position
as well as the servoamplifier for the voltage supply of the motor and for moni-
toring speed, see Fig. 4/12. The setpoint position is preset by the computer.
The position controller determines the deviation between the setpoint position
and the actual position of the axis at very close intervals and specifies the
direction as well as the speed of the axis to the servoamplifier. The servoam-
plifier acquires the actual speed of the axis via the tachogenerator and adjusts
this to the setpoint speed by varying the motor voltage and motor current.
During the approach of the setpoint position, the position controller ensures a
reduction of the axis speed so that the axis does not move beyond the setpoint
position as a result of the inertia forces. If this is however the case, the direc-
tion of movement of the axis is reversed and the gap between the setpoint and
actual value reduced again. If unforeseen forces act upon the robot axis, then
the position controller tries to return the axis to the actual position by means of
the servoamplifier.

B-88
Open and closed-loop control of industrial robots Festo Didactic
BP70
B 4.4

The controller of the RV-M1 is a synchro-PTP controller with the following 4.4 Characteristic features
additional functions: of the RV-M1 robot
• Generating an approximate path curve
• Generating movement in a straight-line.

Approximate path curves are created by a maximum of 90 intermediate points.


The movement along these intermediate points is continuous. In addition, the
robot can move through a space on a straight line. With this robot movement,
the controller sets the intermediate points automatically along the straight line,
whereby the movement between the intermediate points has not been defined.
The rate of movement of the robot is slow during these motions, as the de-
mands on the controller are considerably increased due to the additional calcu-
lations.

All the modules for the controller are housed in the drive unit.

The computer has been set up with a Z-80 type microprocessor. Additional
modules enable the computer to process extensive coordination transforma-
tion. The results of the coordination transformation are converted into setpoint
positions. This information is transmitted to the five position control modules.

All the position controllers are also configured on the main printed circuit board
and are identical for each axis. As such, the closed-loop control of the individ-
ual axis is carried out by means of straight-forward proportional control. The
pulses of the encoder are counted by a counter. The counter status describes
the actual position of the axis. This position is compared with the predefined
setpoint position. If these two signals differ, then the motors are supplied with
voltage, which is generated via a digital/analogue converter and amplified in an
amplifier module. The voltage supply is a voltage divider, i.e. the voltage and
thus the axis speed are not controlled.

The encoders for axes 1 to 3 output 200 pulses per revolution, the encoders of
axes 4 and 5 output 96 pulses per revolution.

B-89
Open and closed-loop control of industrial robots Festo Didactic
BP70
B4

B-90
Programming of industrial robots Festo Didactic
BP70
B5

Programming of
industrial robots

B-91
Programming of industrial robots Festo Didactic
BP70
B 5.2

Together with the robot controller, the type of programming is a major in-
fluence on the performance of an industrial robot and thus the handling tasks
to be carried out. This chapter discusses the programming requirements as
well as the differences in the various types of programming.

5.1 Requirements One important auxiliary means in meeting the objective of an automated and
and classification flexible product is the programmability of the industrial robot. It contributes to-
wards obtaining shorter setting-up and re-tooling times and ensures a flexible
system configuration for new production tasks.

The programming of a robot must be made as simple as possible for the


programmer. This is why the programming of industrial robots should be clear
and easy to understand and easy to execute. Furthermore, it should be
possible to correct and optimise the handling program.

The preferred method of programming is therefore one which can be carried


out immediately on the robot site (on-line programming). Recently however,
mainly for economical reasons, programming methods are also being tested
and used, where the program is developed away from the robot site (off-line
programming).

5.2 Design of The robot program describes the robot motion sequence and the reaction to
a robot program signals from peripherals. The robot program is made up of two parts; the pro-
gram section, which contains the robot actions, and a second section, which
stores the positions. Both program sections can generally be operated separ-
ately. For instance, if a workpiece retainer becomes worn, then merely the
position of this point has to be recorded again. Furthermore, this structure
facilitates the development of a program in two separate areas. The robot mo-
tion sequence is planned and programmed by the programmer away from the
robot. The essential points are recorded with the robot and stored in the sec-
ond section of the program. This process is described as Teaching. The robot
arm is positioned by means of the manual control device and the angles of the
axes stored under a position number.

B-92
Programming of industrial robots Festo Didactic
BP70
B 5.2

Sequence program Position data in the basic coordinate system


Move to point 1 X=100, Y=100, Z=30
Open gripper
Move to point 2 X=100, Y=100, Z=15
Close gripper
Move to point 1 X=100, Y=100, Z=30

Table 5/1: Robot motion program

The robot program describes the retention of a workpiece at point 2. It also


shows that the robot program not only describes the robot motions but also the
special functions such as the control of the peripherals. The robot actions are
described in clear text. Almost all robot manufacturers use their own language
to describe the individual robot actions, which have to be learnt by the robot
programmer. The scope of performance of these programming languages
varies considerably. Table 5/2 list the names of some robot manufacturers and
their robot languages:

Manufacturer Programming language


Adept VAL
Bosch BAPS
Unimation VAL
ASEA ARLA
Siemens SRCL
VDI standard guideline IRDATA

Table 5/2: Overview of programming languages

The individual program commands and their actions can be obtained from the
appropriate manuals. Depending on the controller, the positioning data of the
points to be approached is either numbered consecutively or provided with a
name. The latter form of description facilitates the tracing of individual points.
The standard interface IRDATA is to enforce the programming of all robots by
means of a programming language. This programming interface has not been
accepted on the German market as yet.

B-93
Programming of industrial robots Festo Didactic
BP70
B 5.3

5.3 Programming methods Several additional facilities and programming methods are available for desig-
for industrial robots ning a robot program.

On-line programming By on-line programming we mean the programming of the robot immediately at
its place of use. Programming is effected directly on the controller or by means
of a manual control device, which is connected to the controller via a cable. A
manual control device is also known as a Teaching Box.

ON OF F EM G. ST OP
Switc h for Key for
O N/ O FF E M ERG E NCY - STO P
func tion function

RV-M1 TEACHING BOX


7-segment display

X X
INC DEC
B B
Y Y
P. S P. C
Keypad for S S Keypad for
program NST ORG
Z Z
motion
4E 4E
functions functions
P P
TRN WRT
3 8
R R
M O V STEP
2 7
OPTION OPTION
PTP XYZ
1 6
O C
E N T TOOL
0 5

MI TSUBISHI
Key for
E NTE R
function

Fig. 5/1: Teaching Box of the Mitsubishi RV-M1 robot

B-94
Programming of industrial robots Festo Didactic
BP70
B 5.3

The advantage of this type of programming lies in the fact that the programm-
ing process is clearly intelligible and can be easily learnt. The user sees the
robot motion direct as well as the interaction of the robot tools with the periph-
erals.

The disadvantage of this type of programming is that the robot and its periph-
erals are not available for the production process for the duration of the pro-
gramming period, which increases the robot programming costs.

On-line programming is further subdivided into Teach-in programming and


Play-Back programming.

Teach-In-programming
With Teach-In programming or also "approaching and storing", the industrial
robot is moved by means of a Teaching Box by pressing appropriate push-but-
tons. Displacement encoders measure the path coordinates of the distance
travelled during the motion. The data supplied by the displacement encoders is
assigned to a position number and transferred to the memory by pressing the
programming key. Under these numbers, the data can then be called up re-
peatedly during the program. Because the robot moves at reduced speed
when operated manually, the data regarding traversing speed has to be added
subsequently to the robot program. Depending on the type of robot, this can
be carried out on the control panel, an external monitor or via a PC (such as
the RV-M1).

Play-Back programming
Play-Back programming or "travel and store" is used particularly for paint
spraying. With this method, the device for programming is guided along the
required path and the workpiece coated at the same time, whereby the accu-
A 12
racy of the coating process and the quality are largely dependent on the tech-
nical know-how and skill of the operator who is programming the industrial
robot.

A great disadvantage of this type of programming is that the


• program cannot, or can only conditionally be corrected in individual program
sections and
• moving the often rigid industrial robot can be difficult and arduous for the
operator.

B-95
Programming of industrial robots Festo Didactic
BP70
B 5.3

For this reason, systems have been developed which have the facility of mov-
ing the industrial robot stand, or the use of an additional stand or a combina-
tion of both methods.

With the first method (moving of the robot stand) the programmer moves the
industrial robot arm direct; the robot drive unit is isolated for this purpose. This
type of programming is complicated and requires high physical exertion despite
the weight compensation of the robot axes and the isolated robot drive unit. A
paint sprayer therefore cannot achieve the same fluid movement, to which he
is accustomed when a spray gun is guided manually.

With the second method (use of an additional stand), a stand is used to facili-
tate guiding, which is similar to the geometrical dimensions of the robot, but of
much lighter design. This stand is equipped with displacement encoders and
tachometer systems and can be readjusted on the actual industrial robot so
that there are hardly any deviations between the distances to be traversed
during programming and the distances traversed during automatic operation.

3 2 1

1 Drive decoupled robot


2 Paint-sprayer guiding the drive decoupled robot
3 Surface to be sprayed

Fig. 5/2: Robot programming using Play-Back method

B-96
Programming of industrial robots Festo Didactic
BP70
B 5.3

Off-line programming refers to remote programming away from the actual robot Off-line programming
location, whereby the robot can continue production in parallel with the pro-
gramming tasks.

Off-line programming can be divided into textual and graphically assisted pro-
gramming.

Textual programming

With textual programming, the programs are input line by line on an external
computer and stored. Table 5/3 illustrates a sample section of this.

.PROGRAM Example Comment


SPEED 90 Sets the rate of movement at 90% of the
maximum speed.
MOVE p10 Moves to point 10
OPENI Opens the gripper
MOVE p20 Moves to point 20
.END Program end
Table 5/3: Program text of textual programming (VAL II)

This type of programming requires the ability for a high degree of abstraction
on the part of the programmer, as he does not have any direct reference to the
robot cell. He has to know all the points or positions to be approached from
the location or orientation. As it is virtually impossible to achieve this in practi-
cal terms, hybrid programming has become widely accepted. With this, the
programming framework is created textually and the missing points are then
recorded during the commissioning of the new program by means of Teach-In
programming and incorporated into the program.

B-97
Programming of industrial robots Festo Didactic
BP70
B 5.3

Graphic programming

Graphically assisted programming links the use of a CAD system with Off-line
programming. In this way, the programmer obtains the missing reference to the
robot cell he is programming, which is lacking with purely textual programming.
The programmed trajectories are displayed on a monitor. In addition, it is for
instance possible for construction data to be accepted into the motion display
via the gripper.

Fig. 5/3: CAD produced graphic display of a robot cell

As an initial step, the robot environment must be created in the form of a


three-dimensional picture via a CAD system. This can either be done in the
form of a 3D wire model or of a solid model. The robot is then added to this
environment. In addition to information regarding the kinematic design, infor-
mation must be available regarding the dynamic properties of the robot. This
information includes for instance the behaviour under varying gripper loads, the
effect of joint friction as well as the effect of inertial forces.

B-98
Programming of industrial robots Festo Didactic
BP70
B 5.4

The controller of the RV-M1 robot has an instruction set of approx. 60 com- 5.4 Characteristic
mands. With these commands, it is possible on the one hand to create se- features of the
quence programs and on the other hand to execute seldom used individual RV-M1 robot
special functions. Of the approx. 60 commands, 13 commands can either be
inserted in a control program via the Teaching Box or individually executed.

The program structure of an RV-M1 robot control program is very similar to a


basic program.

The user manual groups the commands into six categories. In order to obtain
a better means of comparison with this fundamental section, these categories
have been used below to provide a brief introduction to the commands. De-
tailed explanations regarding the individual commands are available from the
manual. In order to facilitate the introduction, the commands have been sub-
divided into the classes ’program suitable yes, program suitable no, basic func-
tion, supplementary function, special function.

Not all commands are suitable for use in a robot program. Their main purpose
is to move the robot to specific positions during progamming or to edit the
program. The following table provides a brief introduction of the commands
followed by comments and categories under the column ’program’:

• "no":
In principle, all commands can be incorporated in a robot control program.
The commands denoted by "no" under the column "program suitable",
should only be used for setting-up tasks on the robot, for editing a program
or for teaching of the robot. This does however not preclude the possibility
that some experienced programmers may use some of the commands
marked in this way to advantage in a program.

• "yes":
Commands with this designation can be used unrestricted in robot pro-
grams.

• "Basic functions":
Commands in the category "basic functions" facilitate the design of simple
robot programs. It is not possible to program branches, loops etc. with
these commands. These commands are particularly suitable for the pur-
pose of briefly familiarising oneself with the robot

B-99
Programming of industrial robots Festo Didactic
BP70
B 5.4

• "Supplementary functions":
These supplementary functions contain all the logical commands for the
internal control of a robot program. With these functions it is possible to
branch the robot program. Also, it is possible to predefine loops, which are
traversed and executed repeatedly.

• "Special functions":
Commands in the category "Special functions" increase the performance of
the robot controller. These commands simplify for instance the programm-
ing of palletising tasks or facilitate serial interface operation.

Motion commands

These commands control the movement of the robot arm in all the robot axes.
They include those defining the TCP and the defining and editing of points to
be approached.

Command Function Programming by Suitable for Comment


Teaching-Box program
DP The robot approaches the position with the next <DEC> yes
smaller position number. Basic function

DW Moves the robot arm in the X-Y-Z-axis direction no yes


by specified values. The reference position of Basic function
this motion is the last robot position.

HE Stores the current robot position under a <P.S> no Serves the purpose
position number Basic function of teaching the positions.

HO Establishes a new reference position. All no no


absolute robot positions are based on this Supplementary
reference position. function

IP The robot approaches the position with the <INC> yes


greater position number. Basic function
MA The values of a second position are added to no yes
the specified values of a position. The robot Special function
moves to this newly calculated position.

MC The robot moves past a series of points. The no yes The movement through is
first and the last point of this motion sequence Basic function made continuous.
are specified.

MJ Move one or several robot axes of the robot no yes


arm. The respective angle of rotation of the axis Basic function
is specified.

MO Moves the robot to a specified position number <MOV> yes


Basic function

MP Moves the robot to an absolute position. The no yes


position of the robot arm as well as the Basic function
orientation of the robot flange must also be
specified.

Table 5/5a: Motion commands

B-100
Programming of industrial robots Festo Didactic
BP70
B 5.4

Command Function Programming by Suitable Comment


Teaching-Box for program

MS Moves the robot arm in a straight line in the no yes If the number of
space. The number of intermediate points must Basic function intermediate points is
be specified apart from the start and finish increased, the motion
positions. accuracy along the
straight line increases
whilst the rate of
movement rapidly
decreases.

MT Moves the robot arm along the workpiece no yes With this command a bolt
orientation. The distance of travel is specified. Basic function can for instance be
inserted in a hole.

NT Returns the robot arm to its mechanical origin <NST> yes This command should
Basic function only be executed under
supervision.

OG Moves the robot arm to the defined reference <ORG> no


position of the cartesian coordinate system. Supplementary
function

PA Creates the grid points for a pallet containing no yes


the, deposit points on the pallet. Special function

PC Deletes the value of the specified position <P.C> no Required for teaching the
number Basic function positions.

PD Defines the coordinate and orientation of a no no


position number. Special function
The position number the coordinates in X-Y-
and Z-axis, direction as well as the orientation
of the hand axes are specified.

PL Assigns the position values of a position no no


number to the range of values of a second Special function
position number.

PT Calculates the value of the deposit position on no yes The pallet must be
a defined pallet. Special function previously defined via the
command PA.

PX Exchanges the position values of a position no no


number for those of another. Special function

SF Adds the positon data of a position number to no no


the data of a second position number. The Special function
result is stored under the first position number.

SP This command sets the speed of travel of the no yes


robot in 9 stages. Basic function
This speed applies to all subsequent robot
motions, until a new SP command specifies a
different speed.

TI Delays further program execution by the no yes This command is


specified time value. Basic function important, if peripheral
devices have not been
equipped with sensors for
transmitting the status.
The robot waits with its
next action, until the
peripherals have safely
reacted.

Table 5/5b: Motion commands

B-101
Programming of industrial robots Festo Didactic
BP70
B 5.4

Program control commands With the help of these commands it is possible to store repetitive robot actions
in small subroutines which can be called up as often as required. Program
loops can be created, which initiate a certain number of identical robot
motions. Finally, it is possible to compare values from counters, the status of
inputs and outputs with predefined values. Depending on the results of these
comparisons, the robot program branches in its program flow.

Command Function Programming by Suitable Comment


means of for program
Teaching-Box

CP Loads the counter value into the comparison no yes Must be executed prior to
register Supplementary the commands EQ, LG
Function and SM.

DA Program interference via the interrupt of an no yes


input signal is disabled Supplementary
function

DC Reduces the actual value in a counter by the no yes Counters 1-99 are
value 1. Supplementary available.
function

DL Deletes the content of one or several no no For editing the robot


program lines Basic function program.

EA Enables an interrupt by an input signal. If the the robot jumps no yes


input signal is generated to the program Supplementary
line linked with function
the interrupt.

ED Marks the end of the program. no yes


Basic function

EQ Compares two values for their equality. If the no yes


two values are equal, the program branches to Supplementary
the specified program line. function

GS Jumps to a subroutine. The start line of the no yes


subroutine is specified. Supplementary
function

GT The program jumps to the specified program no yes


line. The robot program continues to be Supplementary
executed as from this new program line function

IC Increases the actual value in a counter by the no yes Counters 1-99 are
value 1. Supplementary available.
function

LG Logical interrogation for greater value. If the then the robot no yes
interrogated value is greater than a specified program Supplementary
value branches, to a function
specified program
line.

Table 5/6a: Program control commands

B-102
Programming of industrial robots Festo Didactic
BP70
B 5.4

Command Function Programming by Suitable Comment


means of for program
Teaching-Box

NE Logic interrogation for not equal. If the no yes


interrogated value is not equaI to the specified Supplementary
value, the robot program branches to a function
specified program line.

NW Deletes all program and position data in the no no This command should be
robot controller Basic function used with great caution. It
can destroy many hours’
work.

NX Marks the end of a program loop. no yes


Supplementary
function,

RC Marks the beginning of a program loop. The no yes


program commands within the loop are Supplementary
executed repeatedly. The number of repetitions function
is specified.
RN Starts the robot program in the robot controller no no
Basic function

RT Completes a subroutine and jumps back to the no yes


main program during program execution. Supplementary
function

SC Specify the initial value in a counter. no yes


Supplementary
function

SM Logical interrogation for smaller value. If the no yes


value interrogated is smaller than a specified Supplementary
value, the robot program branches to a function
specified program line.

Table 5/6b: Program control commands

B-103
Programming of industrial robots Festo Didactic
BP70
B 5.4

Control of the robot hand The RV-M1 has a power supply for the motor operated gripper, also known as
the robot hand, which is installed on the robot arm, as well as a special com-
mand for setting the gripping force of the electrical gripper. Please note that if
a pneumatic gripper is used, the gripping force cannot be set via this function.
Moreover, the end positions of the gripper, i.e. the information "Gripper open",
"Gripper closed" are not interrogated by means of a sensor. If the gripper is
jammed, then the function GF gripper status signals an error result. It is re-
commended that a short delay (function TI) be programmed after each gripper
motion. This measure increases the protection against interference of the robot
sequence.

Command Function Programming by Suitable Comment


means of for program
Teaching-Box

GC Closes the robot gripper <O> yes


Basic function

GF Signals back the status of the robot gripper. no yes


Basic function

GO Opens the robot gripper >C< yes


Basic function

GP Adapts the gripping pressure of the robot no yes Operates only in


gripper. Special function conjunction with the
electrical "Robot hand" by
Messrs Mitsubishi. This
function does not operate
in the case of pneumatic
grippers.

Table 5/7: Commands for the control of the robot hand

B-104
Programming of industrial robots Festo Didactic
BP70
B 5.4

The I/O unit of the RV-M1 has 16 digital inputs and 16 digital outputs. Only 8 Control of the input and
ports each are used in conjunction with the simulation Box. The commands of output unit
this group actuate these inputs and outputs.

Command Function Programming by Suitable Comment


means of for program
Teaching-Box

ID Establishes the status of all input signals. no yes


Supplementary
function
IN Reads the input data synchronously in relation no yes
to special control signals. Special function

OB Switches an output on or off. Outputs 0-15 can no yes


be controlled. Basic function

OD Signals a digitally coded numeric value via the no yes


outputs. Special function

OT Switches on the outputs synchronously in no yes


relation to other signals. Special function

TB Interrogates the internal register for a specified no yes


bit. The program jumps to a specified program Special function
line if the bit has been specified.

Table 5/8: Command for the input and output of data

These tables illustrate that many commands can only be programmed via an Control of the RS-232
external PC. Therefore the robot controller has to provide an interface and serial interface
commands for the control of this interface in order to be able to communicate
with a PC.

Command Function Programming by Suitable Comment


means of for program
Teaching-Box

CR Causes the value of the specified counter to be no yes


output from the port of the serial interface. Special function

DR Transmits the contents of an internal register no yes


via the serial interface Special function

ER Causes the error status to be read from the no yes


port of the serial interface. Special function

LR Transmits a program line to the port of the no yes


serial interface. Special function

PR Transmits the specified position via the port of no yes


the serial interface. Special function

WH Transmits the actual position to the port of the no yes


serial interface taking into account the TCP. Special function

Table 5/9: Commands for the control of the serial interface

B-105
Programming of industrial robots Festo Didactic
BP70
B 5.4

Additional special functions This group of commands contains three commands for processing individual
error messages as well as for the permanent storing of individual robot pro-
grams on an EPROM. An EPROM is an electronic module into which the pro-
gram can be written only once. If the program is to be erased in the module,
then the module has to be removed and exposed to ultraviolet light.

Command Function Programming by Program Comment


means of suitable
Teaching-Box

RS Deletes the internal error messages in the robot no no


controller. Resets the robot program to the start Basic function
line.
TR Transfers program and position data from the no no
EPROM to the RAM of the controller. Special function

WR Writes the program with its position data into no no


EPROM. Special function

Table 5/10: Special functions

Notes This chapter should not be seen as an introduction into the design of individual
robot programs but merely serves to provide a few tips. Each programmer will
solve one and the same task in a different way. In addition, knowledge of
different programming languages such as BASIC can facilitate programming.

Small robot tasks, during which the individual robot motions are not repeated,
can be relatively clearly programmed. The program is started by setting the
rate of movement and, if required, with the interrogation of an input signal for
starting additional commands. Thereafter, the individual actions to be executed
by the robot are listed in series. The program ends with a jump command to
the first program line so that the robot program can be started again. On com-
pletion, the robot should not just stand anywhere. If the program starts anew,
the robot moves to its initial position. As this path is not known, it can easily
move to unintended and collision-prone robot paths. A robot program should
be completed by returning the robot into its start position.

B-106
Safety systems Festo Didactic
BP70
B6

Safety systems

B-107
Safety systems Festo Didactic
BP70
B 6.1

6.1 Requirements Due to their fast motions, their complex motions sequences and high dynamic
forces, robots can be a danger to the operator and programmer. In addition to
the danger of direct contact with the moving robot arm, there is the danger of
workpieces or peripheral parts flying around in the event of a collision or error
programming. The main area of danger in this respect is the operational space
of the robot. One measure for reducing potential danger is to limit the oper-
ational space of the robot. This can either be done by means of suffiently
dimensioned mechanical stops or by restricting the axis movement through
special software commands. Each robot must be equipped with the following
safety devices:

• The robot must stop immediately if the Emergency-Stop switch is actuated.

• The axes must cease to move in the event of a power failure.


Gripped workpieces must not be released. The system must not be allowed
to restart when the power comes on again.

• Devices must be available for the manual release of the brakes holding the
axes.

• It must be possible to clearly differentiate between the modes of operation


"Setting-up" and
"Automatic" by means of a selector switch.

• The safety devices may only be switched off via a key actuator. The key
must only be available to instructed personnel. The speed of the robot mo-
tion is automatically reduced when the safety measures are cancelled.

• The manual control device must be equipped with


an Emergency-Stop switch and touch control key.

Apart from the general equipment guidelines applying to electrical equipment


for industrial machines according to VDE 0113, particular reference should be
made to VDI guideline 2853 "Safety requirements regarding the construction
and operation of industrial robots". Safety devices are for the protection of
personnel during the programming and maintenance stage as well as during
the running operation. The most important group of safety devices are the
protective devices.

B-108
Safety systems Festo Didactic
BP70
B 6.2

Protective devices are grouped into the following categories: 6.2 Protective devices
• General protective devices
• Protection during the programming and setting up of the robot
• Protection during the operation of the robot systems.

As with all production systems, robot systems also require an Emergency-Stop General protective devices
switch. With the actuation of the Emergency-Stop switch the robot must remain
in its position. At the same time, the robot drives must be switched inactive.
Each robot has a facility for incorporating the power section in the Emergency-
Stop chain. Each switch in the Emergency-Stop circuit must be in the form of a A1
normally closed contact, i.e. the circuit is closed in the unactuated status. In
this way, the circuit is protected against any potential cable damage, as the
effect of a broken cable is the same as that of actuating the Emergency-Stop
switch. The robot must not start, when an actuated Emergency-Stop switch is
reset. The release of the robot motion is effected via a separate push-button.

The circuitry for the Emergency-Stop circuit has been defined in the VDE
guidelines.

It is primarily during the programming and setting-up stage of a robot system Protective measures
that the user is in the immediate proximity of the robot. During this operational during programming
status only trained personnel should be permitted within the operational space
of the robot, this is carried out by cancelling the safety measures via a key
actuator. The robot motion speed is automatically reduced. If the manual con-
trol device is being used, then the control elements of the robot controller are
switched off. The manual control device must the designed in such a way that
any robot motion is automatically stopped upon release of the touch control
keys. The control elements must be configured in such a way that they cannot
be actuated accidentally.

During the operation of a robot cell, access to the danger zone must either be Protective measures
impossible for the user or the system must be switched off automatically if the during operation
user enters the danger zone. The following equipment is used for these protec-
tive functions:
• Safety barrier systems used as separating safety devices
• Intrinsically safe monitoring devices

B-109
Safety systems Festo Didactic
BP70
B 6.2

Safety barrier systems

Safety barrier systems enclose the entire danger zone. They consist of frame-
work components made of aluminium or steel profiles, into which the steel or
aluminium guards or plexiglass screens are inserted. Critical points are access
for maintenance or gaps in the safety barrier through which material is brought
to the robot cell or waste is disposed of.

1,8m

0,3m

Fig. 6/1: Design and dimensions of a safety barrier to DIN 31001

Maintenance access points are usually fitted with lockable doors. These are
either held closed by means of mechanical locks or electromechanical locking
devices. The doors are monitored by means of safety limit switches, which are
linked to the Emergency-Stop circuit. If the door is opened unauthorised during
operation, then the robot is stopped via the Emergency-Stop circuit.

B-110
Safety systems Festo Didactic
BP70
B 6.2

Intrinsically safe monitoring devices

Another possibility of securing gaps in the safety barrier system are for in-
stance light barriers, light-beam curtains and switching pads. All of these de-
vices require evaluation electronics which impose strict safety requirements. All
circuits are self-monitoring and are inspected at regular intervals.

3 Light barriers

1,1m
0,7m
0,3m

Fig. 6/2: Configuration of through-beam sensors for the protection of an


access way

B-111
Safety systems Festo Didactic
BP70
B 6.2

A particular source of danger is when workpieces are fed to or removed from


the robot cell manually. One particular possibility of partitioning this area is the
use of security grids. The grid door is released by the robot controller only
when the robot has reached a defined position. When the door is opened the
installation is switched to a safe status. When the grid has closed, the robot
continues operation subject to an acknowledgement signal.

Fig. 6/3: Design of a security grid

In applications, where the actuation of a grid takes too long, sliding platforms
or indexing tables are used. Their purpose is to divide the operational space
and as such the danger zone of the robot from the area of reach of the loading
personnel into separate areas. This guarantees a safe working environment in
the robot cell.

B-112
Safety systems Festo Didactic
BP70
B 6.3

The RV-M1 robot differs in some aspects from the safety measures introduced 6.3 Characteristic
above in that, for instance, the rate of movement is not reduced because the features
robot does not exceed the specified speed at any time. Furthermore, the of the RV-M1 robot
Emergency-Stop circuit is external on the rear of the drive unit. If the robot is
operated as a stand-alone device, then the Emergency-Stop switch is con-
nected at the point described in the manual. If the robot forms part of a com-
plete system, then the Emergency-Stop circuit is to be conducted via this con-
tact.

B-113
Safety systems Festo Didactic
BP70
B6

B-114
Bibliography of illustrations Festo Didactic
BP70
B7

Bibliography of illustrations

Illustration number Source

B4/2 adept technology inc., 4600 Dortmund 50, Germany


5, A6/1 ASEA Brown Boverie AG, 6800 Mannheim 31, Germany
11, A12/1 BMW, 8000 München, Germany
9 EISENMANN Fördertechnik KG (Conveyor technology)
7038 Holzgerlingen, Germany
B1/3 Fraunhofer Institute for Production Technology
and Automation, 7000 Stuttgart 80, Germany
3 Nuclear Research Centre Karlsruhe GmbH,
7500 Karlruhe, Germany
8, 10, A5/1, B1/5 KUKA Schweißanlagen + Roboter GmbH
(Welding plants and robots)
8900 Augsburg 43, Germany
A10/1 Deutsches Museum (German Museum)
8000 München, Germany
1 History Museum Stadt Neuenburg,
7844 Neuenburg am Rhein, Germany
B1/9 MRW
13 Oehler-Wyhlen Bearing Technology
B1/7 ProLine 4600 Dortmund 50, Germany
A8/1, B1/4, B1/8 Reis GmbH und Co Engine Works, 8753 Obernburg, Germany
B1/6, B4/1 Siemens System Technology, 8510 Fürth, Germany
2 Stäubli-Unimation, 6000 Frankfurt Niedereschbach, Germany

B-115
Bibliography of illustrations Festo Didactic
BP70
B7

B-116
Index Festo Didactic
BP70
B8

Index

A
A.C. servomotors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-51
Angular positions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-35
Approach position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-19
Armature coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-53
Armature voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-54
Articulated arm robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-29
Assembly technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-13
Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5, B-7
Automotive industry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5
Axes
Translatory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-26
Axes interpolated PTP controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-78
Axis
Rotational . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-26

B
Base plate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-33
Basic coordinate system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-33, B-74
Belt drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-58
Binary code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-66
Bonding technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-11
Brakes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-67

C
CAD system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-98
Cartesian coordinate system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-32
Closed-loop control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-60, B-86
Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-61
Commutator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-53
Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-71
Continuous motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-84
Contour welding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-82
Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-60
Control panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-71
Coordinate systems
Endogenic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-34
Coordinate transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-35
Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-102
CP controller
Continuous-path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-80

B-117
Index Festo Didactic
BP70
B8

D
D.C. motor
brushless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-55
D.C. motors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-51 - B-52
Danger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-108
Degree of freedom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-30
Disc rotors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-55
Displacement encoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-60
Analogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-61
Digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-61
Drive amplifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-73
Drive motors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-51

E
Effectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-40
Emergency-Stop switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-109
Encoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-61
Optical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-62
Photoelectric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-62
EPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-106

F
Fast rotors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-55
Feed systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-18
Feeding process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-15
Field coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-53
Flexibilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5, B-7

G
Gantry robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-25
Gears . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-57
Graphite brushes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-53
Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-112
Grippers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-40

H
Handling tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-20
Harmonic Drive gears . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-58
Hybrid programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-97

B-118
Index Festo Didactic
BP70
B8

I
I/O unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-73
Industrial machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-108
Industrial robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-8, B-20
peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-14
industrial robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-18
applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-9
Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-105
Intermediate points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-80
Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-81
Interpolation point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-79 - B-80
IRDATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-93

J
Joining motions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-29

K
Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-38

M
Machine tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-41
Main axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-25
Main operational space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-26
Manipulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-19
Manual control device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-74, B-92, B-94
Manual operation device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-39
Metal industry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-4
Moment of inertia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-51
Motion automatons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-20

N
Nest travel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-38, B-64
Nominal load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-31

B-119
Index Festo Didactic
BP70
B8

O
On-line programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-94, B-97
Open-loop control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-85
Operational space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-24, B-27, B-44, B-108
Overloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-51

P
Paint sprayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-96
Palettising . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-10, B-76
Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-24
Path controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-80
Peripheral device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-14
Peripheral devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-73
Peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-13
Pick-and-place devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-19
Play-Back programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-95
Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-105
Position controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-35, B-73
Positioning accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-31, B-57
Positioning data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-93
Production systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-109
Production tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-20
Productivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-6
Program loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-102
Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-92
Programming language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-93
Programming methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-94
Protective devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-109
PTP
Point to point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-77
PTP mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-39

B-120
Index Festo Didactic
BP70
B8

R
Recession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-4
Reference position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-32
Reference position travel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-38, B-64 - B-65
Robot application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-40
Robot arm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-21 - B-22, B-25, B-49
Robot axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-23, B-48
Robot axis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-73
Robot base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-22, B-33
Robot cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-33, B-98
Robot controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-21, B-70
Robot density . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-6
Robot drive unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-48 - B-49, B-60
Robot program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-92
Robot systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-109
Robot tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-40
Robota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-8
Robots
Horizontal articulated arm robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-28
SCARA robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-28
Vertical articulated arm robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-43
RV-M1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-18, B-43, B-67, B-89, B-99, B-113

S
Safety barrier systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-110
Safety devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-108
SCARA robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-28
Secondary axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-26
Secondary operational space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-27
Security grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-112
Sequence program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-99
Shaft encoder
Incremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-63
Shaft encoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-61
Absolute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-66
Inductive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-62
Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-31
Speed of rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-51
Spindle drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-58
Stepper motors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-51
Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-102
Synchro-PTP control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-78

B-121
Index Festo Didactic
BP70
B8

T
Target position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-77
TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-37, B-44
Teach-In programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-95
Teaching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-92
Teaching Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-39, B-74, B-94, B-99
Teleoperators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-19
Textual programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-97
Three-phase servomotors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-56
Tool flange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-23, B-26, B-37
Tool machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-27
TOOL mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-39, B-45
Tool weight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-40
Torque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-51
Torque motors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-55
Trajectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-76
Traversing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-38

U
Unmachined part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-41

V
Vacuum grippers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-42
Vertical articulated arm robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-29

W
Welding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-12
Windscreen assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-11

X
XYZ mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-39

B-122
Solutions Festo Didactic
BP70
C

Solutions
Exercises

A1 Assembly and reference point travel of the robot . . . . . . . . . . C-3


A2 Basic functions of the Teaching Box . . . . . . . . . . . . . . . . . C-5
A3 Positioning of the robot arm using the Teaching Box . . . . . . . . C-7
A4 Basic functions of the programming software: Teaching mode . . . C-9
A5 Basic functions of the programming software: On-line mode . . . . C-11
A6 Automatic repositioning of workpieces . . . . . . . . . . . . . . . . C-15
A7 Conditional repositioning of workpieces . . . . . . . . . . . . . . . C-21
A8 Palletising . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-27
A9 Program structuring using the subroutine method . . . . . . . . . . C-33
A10 Tick-tack-toe game . . . . . . . . . . . . . . . . . . . . . . . . . . C-39
A11 Movement in a smooth line . . . . . . . . . . . . . . . . . . . . . . C-49
A12 Simulation of paint spraying . . . . . . . . . . . . . . . . . . . . . C-55
A13 Continuous motion . . . . . . . . . . . . . . . . . . . . . . . . . . C-61

C-1
Solutions Festo Didactic
BP70
C

C-2
Solution sheet Festo Didactic
BP70
A1

A user handbook is provided with the drive unit of the robot. In this you will
find all required descriptions and explanations of the robot system. Study
pages 1-15 in Chapter 1, SPECIFICATIONS, in detail. Note the positions of
toggle switches ST1 and ST2.

Use the T-nut to screw the adaptor plate to the profile plate. Then join the
base of the robot to the adaptor plate. Screw the EMERGENCY-STOP switch
to the profile plate and connect its terminals with the EMERGENCY-STOP
circuit of the drive unit on the back of the housing.

Carry out the reference point travel, using the program sequence plan,
Fig. 1/3.

Where are the three EMERGENCY-STOP switches fitted?


• in front on the profile plate
• on the Teaching Box
• on the control panel of the drive unit.
What happens when you press one of the three available EMERGENCY-
STOP switches?
What steps do you need to carry out in order to be able to resume work-
ing with the robot?

After the EMERGENCY-STOP switch has been actuated, the drive system of
the axes is switched off and the robot stops. In addition, the ERROR LED on
the control panel of the drive unit flashes, and an audible alarm sounds, pro-
vided it had been switched on.

After an EMERGENCY-STOP, the drive unit must be switched off. After


renewed switching on of the mains voltage, you must carry out another ’return
to nest’ or reference point travel.

C-3
Solution sheet Festo Didactic
BP70
A1

C-4
Solution sheet Festo Didactic
BP70
A2

You move the robot arm by means of the Teaching Box. The traversing mode
is selected using the keys in the program function section. Motion control is
effected via the motion function keys.

Which traversing mode do you select if you want to move the robot arm
as fast as possible?

The PTP mode is selected if you wish to move the axes with the maximum
possible speed. In the teach mode, the speed of motion of the axes, and of the
entire robot arm, is reduced for safety reasons.

Which traversing mode do you select if you want to position the robot
arm accurately?

XYZ mode enables you to position the robot arm accurately. In this mode, the
drive unit displaces the robot arm while controlling several axes simul-
taneously.

How is the basic coordinate system orientated?

The orientation of the basic coordinate system corresponds to the right hand
rule. The coordinate source is located in the centre of the robot’s base and the
positive Y coordinate points straight forward.

Give an example of an application in tool mode.

If, for an assembly operation, a pin has to be inserted into an opening at an


angle, you must select the tool mode.

Which keys do you press to actuate the motor operated gripper?

Pressing key <O> opens the gripper or, in more general terms, the effector,
while you close the gripper with >C< .

C-5
Solution sheet Festo Didactic
BP70
A2

C-6
Solution sheet Festo Didactic
BP70
A3

With the Teaching Box, you position the robot arm to the positions shown in
Fig. 3/2, and record them with the P.S. key under the designated number. You
move the robot arm to a desired position with the MOV key, and with INC and
DEC you can execute the handling task step by step.

Which functions of the Teaching Box are missing in the program flow
chart, Fig. 3/3?

The following functions are missing in the program sequence plan:


"Store position" and "Approach position".

C-7
Solution sheet Festo Didactic
BP70
A3

START

Approach Move
spatial position robot arm

Press Press
P.S. MOV

Input Input
position position
number n number n

Press Press
ENT ENT

Check no Position no
carried out o.k.
? ?
yes yes

Approach
new spatial
position

Fig. 3/3: Program flow chart

C-8
Solution sheet Festo Didactic
BP70
A4

You can check the motion space of the rotational axes with the programming
software. The menu "Teach-In Box" enables you to move the axes by degrees
in accordance with a selected step width.

How do you access the "Teach-In Box" menu ?

Either via menu "Edit" or through pressing function key <F6> .

Which six blocks of the dialogue boxes can you recognise in the
"Teach-In Box" menu ?
Actual The three cartesian coordinates,
robot coordinates: hand inclination angle and hand angle setting.
Type of motion: PTP, XYZ and Tool.
Step: 0,1; 1,0; 10,0; 30,0.
Speed: Low, high.
Teach: Specify positions.
Move. Movement in + direction or - direction

In which traversing mode do the rotational axes of the robot move?

You can move individual axes in PTP mode.

How can you change the step width of the pulses for moving the rota-
tional axes?

The simplest way is to use the combination of keys <Alt> and <s> to access
dialogue field Step and then select the values with the arrow keys <↑> or <↓>.
Return key <↵> closes the dialogue field.

Teach-in Name 0.1 1.0 10.0 30.0 Total

Waist Body 8 -- -- 10 300.8


Shlder Shoulder 3 -- 1 4 130.3
Elbow Elbow 3 2 2 3 112.3
P Pitch -- -- -- 6 180.0
R Roll -- -- -- 12 360.0

Table 4/1: Motion space of the rotational axes

The values may vary somewhat in the case of your particular robot.

C-9
Solution sheet Festo Didactic
BP70
A4

C-10
Solution sheet Festo Didactic
BP70
A5

First of all, the positions have to be taught with the On-line Box. Command DW
enables you to move the robot arm parallel to the cartesian coordinate axes.
With MP, you can achieve absolute displacement of the rotational axes. With
HE, you record the coordinates of a position under a position number. With
commands MO, IP, DP, you can move the robot arm from position to position.

How can you avoid possible collisions with the workpiece carriers?

Under PTP control, the robot arm moves from one position to the next. If there
is an obstacle in between, the robot arm must be diverted around the obstacle
via an additional position. For this reason, it should be possible to approach a
wait position from every taught position without danger of collision. The ap-
proach positions are to be located such that the target positions can be ap-
proached safely and easily.

How do you access the menu "On-line Box" ?

Either via menu "Edit" or with function key <F5>.

Which handling tasks are missing in the program flow chart, Fig. 5/3?

The following two handling tasks are missing:


Transfer workpiece A to workpiece carrier A and
transfer workpiece B to workpiece carrier B.

C-11
Solution sheet Festo Didactic
BP70
A5

A
2

3
1=6

B
9

10
7

Fig. 5/2: Positional sketch

C-12
Solution sheet Festo Didactic
BP70
A5

Pos. No. Comment


1 Wait position

2 Approach position workpiece A

3 Target position workpiece A

4 Approach position workpiece carrier A

5 Target position workpiece carrier A

6=1 Wait position

7 Approach position workpiece B

8 Target position workpiece B

9 Approach position workpiece carrier B

10 Target position workpiece carrier B

Table 5/1: Position table

C-13
Solution sheet Festo Didactic
BP70
A5

START

Approach
wait position

Transfer
workpiece A to
workpiece carrier A

Approach
wait position

Transfer
workpiece B to
workpiece carrier B

Approach
wait position

END

Fig. 5/3: Program flow chart

C-14
Solution sheet Festo Didactic
BP70
A6

You teach the positions either with the Teaching Box or with the online func-
tion of the programming software. The speed is set with command SP and the
waiting time with command TI.

If ST1 is at the top, the Teaching Box is at OFF, and you have pressed the
RESET key, you can start the program with the RUN key on the drive unit.

The handling task:


Transfer of the workpiece from workpiece carrier A to workpiece carrier B must
be subdivided in the program sequence plan, to make it quite clear at what
point the speed changes.

How many positions do you have to teach?

You teach five positions for this handling task.

What function does the programming of a timer or a time element have?

A timer enables you to program a time interval of any duration (maximum =


3276.7 seconds). During the interval, the control system is waiting for an
event. This event may, for instance, be the reply from another computer or
also the processing time within a technical process. After the time interval has
elapsed, the control system can respond to the status of the event.

How do you access the "Edit" menu ?

You access the upper strip of the menu, by pressing key ESC.
Tag the menu PROJECT and then use the cursor key to select EDIT.

Press key RETURN.

C-15
Solution sheet Festo Didactic
BP70
A6

A
1

B
4

Fig. 6/2: Positional sketch

C-16
Solution sheet Festo Didactic
BP70
A6

Pos. No. Comment


1 Wait position

2 Approach position for workpiece carrier A

3 Target position for workpiece A

4 Approach position for workpiece carrier B

5 Target position for workpiece B

Table 6/1: Position table

C-17
Solution sheet Festo Didactic
BP70
A6

START

Set speed to
maximum and
approach
wait position

Move to approach Move to approach


position of position of
workpiece carrier A workpiece carrier B
and reduce speed and reduce speed

Pick-up workpiece Pick-up workpiece


from workpiece carrier A from workpiece carrier B
and deposit on and deposit on
workpiece carrier B workpiece carrier A

Move to approach Move to approach


position of position of
workpiece carrier B workpiece carrier A
and set speed to and set speed to
maximum maximum

Approach wait
Approach
position and
wait position
wait 4 seconds

END

Fig. : Program flow chart

C-18
Solution sheet Festo Didactic
BP70
A6

Program listing
*** Exercise 6 ***
* ---
* Start
* ---
* Set speed to maximum
* and travel to wait position
* ---
10 SP 9
20 MO 1
* ---
* Travel to approach position
* and reduce speed
* ---
30 MO 2
40 SP 2
* ---
* Transfer workpiece
* ---
50 MO 3
60 GC
70 MO 2,C
80 MO 4,C
90 MO 5,C
100 GO
* ---
* Travel to approach position
* and set speed to maximum
* ---
110 MO 4
120 SP 9
* ---
* Travel to wait position
* and wait four seconds
* ---
130 MO 1
140 TI 40
* ---
* Travel to approach position
* and reduce speed
* ---
150 MO 4
160 SP 2
* ---
* Transfer workpiece
* ---
170 MO 5
180 GC
190 MO 4,C
200 MO 2,C
210 MO 3,C
220 GO
* ---
* Travel to approach position
* and set speed to maximum
* ---
230 MO 2
240 SP 9
* ---
* Travel to wait position
* ---
250 MO 1
* ---
* End
* ---
260 ED

C-19
Solution sheet Festo Didactic
BP70
A6

C-20
Solution sheet Festo Didactic
BP70
A7

At the beginning of the program, you must read in the input byte from the
Simulation Box with the command ID. Command TB enables you to check
the status of each individual bit, i.e. whether it has been set or not. This inter-
rogation should be programmed as a loop. You set the bit of output 0 of the
Simulation Box with command OB +0 and reset it with OB -0.

What is a conditional jump and what is an unconditional jump within a


program flow?

Conditional jump:
A comparison interrogation, such as command TB, is a conditional jump com-
mand. Jump to step number 100 takes place in the program flow upon com-
mand TB +1, 100 only if bit 1 has been set.

Unconditional jump:
A GT command is an unconditional jump command. Jump to step number
100 takes place within a program flow upon command line GT 100.

How can you clearly program branchings in a program?

Several conditional jump command can be arranged within a loop. If the jump
condition is fulfilled, you can come out of the loop and jump to a subroutine.
This enables jump branchings to be structured in a very clear manner.

C-21
Solution sheet Festo Didactic
BP70
A7

A
1

B
4

Fig. 7/2: Positional sketch

C-22
Solution sheet Festo Didactic
BP70
A7

Pos. No. Comment


1 Wait position

2 Approach position workpiece carrier A

3 Target position workpiece carrier A

4 Approach position workpiece carrier B

5 Target position workpiece carrier B

Table 7/1: Position table

C-23
Solution sheet Festo Didactic
BP70
A7

START

Approach
wait position

Bit 0 no Bit 1 no
? ?

yes yes

Pick-up workpiece Pick-up workpiece


from workpiece from workpiece
carrier A and carrier B and
set BUSY set BUSY

Approach wait Approach wait


position and position and
wait 3 seconds wait 3 seconds

Take workpiece Take workpiece


to workpiece to workpiece
carrier A and carrier B and
reset BUSY reset BUSY

Fig. 7/3: Program flow chart

C-24
Solution sheet Festo Didactic
BP70
A7

*** Exercise 7 ***


* ---
* Start
* ---
* Travel to wait position
* ---
10 MO 1
* ---
* Interrogate input
* ---
20 ID
30 TB +0,60
40 TB +1,190
50 GT 20
* ---
* Workpiece carrier A
* ---
* Pick-up workpiece
* and set Bit 0 to "Busy"
* ---
60 MO 2
70 MO 3
80 GC
90 OB +0
100 MO 2,C
* ---
* Travel to wait position
* and wait 3 seconds
* ---
110 MO 1,C
120 TI 30
* ---
* Deposit workpiece
* and reset Bit 0
* ---
130 MO 2,C
140 MO 3,C
150 GO
160 OB -0
170 MO 2
* ---
* Travel to wait position
* ---
180 GT 10
* ---
* Workpiece carrier B
* ---
* Pick-up workpiece
* and set Bit 0 to "Busy"
* ---
190 MO 4
200 MO 5
210 GC
220 OB +0
230 MO 4,C
* ---

C-25
Solution sheet Festo Didactic
BP70
A7

* Travel to wait position


* and wait 3 seconds
* ---
240 MO 1,C
250 TI 30
* ---
* Deposit workpiece
* and reset Bit 0
* ---
260 MO 4,C
270 MO 5,C
280 GO
290 OB -0
300 MO 4
* ---
* Travel to wait position
* ---
310 GT 10
* ---
* End
* ---
320 ED

C-26
Solution sheet Festo Didactic
BP70
A8

If you wish to utilise the palletising function of the programming software, you
must place a "virtual pallet" into the working space at a favourable location.
One possibility is to teach the approach points to the corner points of the
pallet. Command DW, with the X, Y, Z coordinates as operands, displaces the
B 2.3.4
effector in relation to its current position. The cartesian coordinates run parallel
to the axes of the basic coordinate system.

How can you avoid collisions when transferring workpieces within the
pallet ?

In order to avoid collisions you can, for instance, teach the corner points about
40 mm above the pallet, and then make the robot arm move vertically in nega-
tive (-)Z direction. The height of the cylindrical workpieces is about 40 mm.

What happens if the Z coordinates of the four corner points of the pallet
have different values?

The workpiece could not be gently deposited, because the gripper might drop
the workpiece from a significant height.

How can you be sure always to execute the same relative motions when
teaching the positions ?

You first travel to the target position on the pallet and then go into the on-line
mode of the programming software. With command DW, you can execute the
relative motions and check the coordinate values in the Teach-in box.

C-27
Solution sheet Festo Didactic
BP70
A8

22
23
1

20
21

Fig. 8/3: Positional sketch

C-28
Solution sheet Festo Didactic
BP70
A8

Pos. No. Comment


1 Wait position

20 Approach position corner point bottom left

21 Approach position corner point top left

22 Approach position corner point bottom right

23 Approach position corner point top right

Table 8/1: Position table

C-29
Solution sheet Festo Didactic
BP70
A8

START

Define pallet and


approach wait position

Set counter Set counter


for new position for new position
on pallet on pallet

Approach position Approach position

Pick-up workpiece Pick-up workpiece


via relative motion via relative motion
(-Z and +Z) (-Z and +Z)

3 times

Fig. 8/4: Program flow chart

C-30
Solution sheet Festo Didactic
BP70
A8

Program listing
*** Exercise 8 ***
* ---
* Start
* ---
* Specify pallet
* and travel to wait position
* ---
10 PA 2,3,3
20 MO 1
* ---
* Pick-up workpiece 1
* ---
* Set counter
* ---
30 SC 21,2
40 SC 22,1
* ---
* Travel to approach position
* ---
50 PT 2
60 MO 2
* ---
* Pick-up workpiece
* ---
70 DW 0,0,-40
80 GC
90 MO 2,C
* ---
* Deposit workpiece 1
* ---
* Set counter
* ---
100 SC 21,1
110 SC 22,1
* ---
* Travel to approach position
* ---
120 PT 2
130 MO 2,C
* ---
* Deposit workpiece
* ---
140 DW 0,0,-40
150 GO
160 MO 2
* ---
* Pick-up workpiece 2
* ---
170 SC 21,1
180 SC 22,2
* ---
190 PT 2
200 MO 2
* ---
210 DW 0,0,-40
220 GC
230 MO 2,C
* Deposit workpiece 2
* ---
240 SC 21,2
250 SC 22,2
* ---
260 PT 2
270 MO 2,C
* ---
280 DW 0,0,-40
290 GO
300 MO 2
* ---

C-31
Solution sheet Festo Didactic
BP70
A8

Program listing
* Pick-up workpiece 3
(continued) * ---
310 SC 21,1
320 SC 22,3
* ---
330 PT 2
340 MO 2
* ---
350 DW 0,0,-40
360 GC
370 MO 2,C
* ---
* Deposit workpiece 3
* ---
380 SC 21,3
390 SC 22,3
* ---
400 PT 2
410 MO 2,C
* ---
420 DW 0,0,-40
430 GO
440 MO 2
* ---
* End
* ---
450 ED

C-32
Solution sheet Festo Didactic
BP70
A9

If you wish to make use of the palletising function of the programming soft-
ware, you must place a virtual pallet, favourably located, inside the working
space. One possibility consists of teaching the corner points directly at the
target positions of the pallet.

It is then necessary to use command MA in conjunction with a "virtual point" or


an auxiliary point, which you specify with PD, when travelling over the pallet.

When initialising a program, all specifications are collated to form one program
section. This program section is found at the beginning of the main program.

Analyse the handling task in order to establish repetitive motion se-


quences and program sections.

The handling task essentially consists of the collection of a workpiece and the
deposition of a workpiece. You can then always combine the commands for
collecting and for depositing a workpiece in one subprogram.

Which commands are required to enable subroutines to be called up and


terminated ?

Subroutines are called up with command GS line number, and terminated with
command RT.

At which point in the program text are the subroutines located ?

The subroutines follow after the conclusion of the main program, hence after
command ED.

C-33
Solution sheet Festo Didactic
BP70
A9

32
33
1

30
31

Fig. 9/3: Positional sketch

C-34
Solution sheet Festo Didactic
BP70
A9

Pos. No. Comment


1 Wait position

10 Virtual point

30 Target position: Corner point bottom left

31 Target position: Corner point top left

32 Target position: Corner point bottom right

33 Target position: Corner point top right

Table 9/1: Position table

C-35
Solution sheet Festo Didactic
BP70
A9

START

Initialise

Set counter
for new position
on pallet

Subroutine
pick-up

Set counter
for new position
on pallet

Subroutine
Deposit

3 times

Fig. 9/4: Program flow chart for the main program

C-36
Solution sheet Festo Didactic
BP70
A9

START START

Approach position Approach position

Lower effector Lower effector


and grip and open

Approach position Approach position

END END

Subroutine Subroutine
Pick-up Deposit

Fig. 9/5: Program flow chart for the subroutines

C-37
Solution sheet Festo Didactic
BP70
A9

Program listing
*** Exercise 9 ***
* Initialisation
PD 10,0,0,40,0,0
10 PA 3,3,3
20 MO 1
* ---
* Pick-up workpiece 1
* ---
30 SC 31,2
40 SC 32,1
* ---
50 GS 500
* ---
* Deposit workpiece 1
* ---
60 SC 31,1
70 SC 32,1
* ---
80 GS 600
* ---
* Pick-up workpiece 2
* ---
90 SC 31,1
100 SC 32,2
* ---
110 GS 500
* ---
* Deposit workpiece 2
* ---
120 SC 31,2
130 SC 32,2
* ---
140 GS 600
* ---
* Pick-up workpiece 3
* ---
150 SC 31,1
160 SC 32,3
* ---
170 GS 500
* ---
* Deposit workpiece 3
* ---
180 SC 31,3
190 SC 32,3
* ---
200 GS 600
* ---
210 ED
* ---
* Subroutine pick-up
* ---
500 PT 3
510 MA 3,10
* ---
520 MO 3
530 GC
* ---
540 MA 3,10,C
* ---
550 RT
* ---
* Subroutine deposit
* ---
600 PT 3
610 MA 3,10,C
* ---
620 MO 3,C
630 GO
* ---
640 MA 3,10
* ---
650 RT

C-38
Solution sheet Festo Didactic
BP70
A10

In this solution of the problem, the corner points of the "virtual" pallet were
taught at the target positions. It is, therefore, necessary to specify an additional
"virtual" auxiliary point, for instance with the number 10.

PD 10, 0,0,40,0,0

The program for this handling task has to process several inputs from the
Simulation Box. These interrogations may be programmed by conditional jump
commands by which you test the status of bits. As long as the status does not
change, you jump back to the read command ID in the program flow.

It is important to synchronise communication via the Simulation Box time-wise.


Upon interrogation "is there a message", the robot controller must read in the
message only then, when all four bits have been set. The use of two bits, the
STROBE signal and the BUSY signal, offers a simple solution.

What subroutines does the handling task of the robot consist of ?


• To collect red workpieces from the right-hand workpiece carrier
• To collect black pieces from the left-hand workpiece carrier
• To deposit pieces on the pallet.

How many different items of information must you convey to the robot, in
order to be able to define the position on the pallet ?

9 information items concerning the 9 positions on the pallet.

How many bits do you require in order to codify all this information?

4 bits are required in order to be able to codify up to 15 different information


items.

C-39
Solution sheet Festo Didactic
BP70
A10

Why must communication between operator and robot control unit be


synchronised ?

Synchronisation of communication between operator and robot control unit is


necessary in order that the control unit reads the complete bit sequence of a
message. You must inform the robot control unit when a complete message
has been set at the Simulation Box.

How can communication between operator and robot control unit be syn-
chronised ?

Synchronisation can be achieved with two bits on the Simulation Box: One
input bit and one output bit. The robot control unit waits for the change of
status of the input bits. This signal is called a STROBE signal, and you can
implement it with bit 7 on the Simulation Box. When bit 7 has been set, the
control unit sets signal BUSY, which you can implement with output bit 6. It
then waits until input bit 7 is reset again at the Simulation Box. Only then does
the control unit read in the message as input byte.

How do you terminate the game and thus stop the robot ?

You can terminate the game with a STOP signal. You can implement the
STOP signal with input bit 6.

C-40
Solution sheet Festo Didactic
BP70
A10

62
63
1

60
61
B
4

Fig. 10/2: Positional sketch

C-41
Solution sheet Festo Didactic
BP70
A10

Pos. No. Comment


1 Wait position

2 Approach position workpiece carrier A

3 Target position

4 Approach position workpiece carrier B

5 Target position

10 Virtual position/auxiliary position

60 Target position: Corner point bottom left

61 Target position: Corner point top left

62 Target position: Corner point bottom right

63 Target position: Corner point top right

Table 10/1: Position table

C-42
Solution sheet Festo Didactic
BP70
A10

3 6 9

2 5 8

1 4 7

Fig. 10/3: View of the pallet

Message Bit 0 1 2 3 4 5 6 7
Position 1 1 0 0 0 0 0 0 0
Position 2 0 1 0 0 0 0 0 0
Position 3 1 1 0 0 0 0 0 0
Position 4 0 0 1 0 0 0 0 0
Position 5 1 0 1 0 0 0 0 0
Position 6 0 1 1 0 0 0 0 0
Position 7 1 1 1 0 0 0 0 0
Position 8 0 0 0 1 0 0 0 0
Position 9 1 0 0 1 0 0 0 0
STOP --- --- --- --- --- --- 1 ---
STROBE --- --- --- --- --- --- --- 1

Table 10/2: Coding table

C-43
Solution sheet Festo Didactic
BP70
A10

START

Define pallet and


approach wait position

RED no
?

yes

Pick-up RED Pick-up BLACK


workpiece and workpiece and
approach wait approach wait
position position

Message no
present
?
yes

Set BUSY and


wait till
STROBE is
reset

Read in message,
deposit workpiece,
approach wait position,
reset BUSY

no STOP
?

yes
END

Fig. 10/4: Program flow chart

C-44
Solution sheet Festo Didactic
BP70
A10

Program listing
*** Exercise 10***
* Specification of the virtual point, of the pallet,***
* Set colour counter to red and travel to wait position***
* ---
PD 10, 0,0,40,0,0
10 PA 6,3,3
20 SC 1,1
30 MO 1

* ---
* Interrogation Red ? *
* Red: Step 70 subroutine workpiece Red = Pick-up A
* Black: Step 90 subroutine workpiece Black = Pick-up B
* ---
40 CP 1
50 EQ 1, 70
60 EQ 2, 90
70 GS 800
80 GT 100
90 GS 900
* ---
* Interrogation is there a message ? *
* and STROBE reset ? *
* ---
100 ID
110 TB -7,100
120 OB +6
130 ID
140 TB +7,130
* ---
* Read in message, deposit workpiece *
* and travel back to wait position *
* ---
150 ID
160 EQ 1, 260
170 EQ 2, 300
180 EQ 3, 340
190 EQ 4, 380
200 EQ 5, 420
210 EQ 6, 460
220 EQ 7, 500
230 EQ 8, 540
240 EQ 9, 580
250 GT 150
* ---
* Deposit position 1 *
* ---
260 SC 61,1
270 SC 62,1
280 GS 1000
290 GT 620
* ---
* Deposit position 2 *
* ---
300 SC 61,2
310 SC 62,1
320 GS 1000
330 GT 620
* ---
* Deposit position 3 *
* ---
340 SC 61,3
350 SC 62,1
360 GS 1000
370 GT 620
* ---

C-45
Solution sheet Festo Didactic
BP70
A10

Program listing
* Deposit position 4 *
(continued) * ---
380 SC 61,1
390 SC 62,2
400 GS 1000
410 GT 620
* ---
* Deposit position 5 *
* ---
420 SC 61,2
430 SC 62,2
440 GS 1000
450 GT 620
* ---
* Deposit position 6 *
* ---
460 SC 61,3
470 SC 62,2
480 GS 1000
490 GT 620
* ---
* Deposit position 7 *
* ---
500 SC 61,1
510 SC 62,3
520 GS 1000
530 GT 620
* ---
* Deposit position 8 *
* ---
540 SC 61,2
550 SC 62,3
560 GS 1000
570 GT 620
* ---
* Deposit position 9 *
* ---
580 SC 61,3
590 SC 62,3
600 GS 1000
610 GT 620
* ---
* Interrogation Stop *
* ---
620 ID
630 TB - 6,40
* ---
* End of program *
* ---
640 ED
* ---
* Subroutine: Workpiece Red = Pick-up A *
* ---
800 MO 2
810 MO 3
820 GC
830 MO 2,C
840 MO 1,C
850 SC 1,2
860 RT
* ---
* Subroutine: Workpiece Black = Pick-up B *
* ---
900 MO 4
910 MO 5
920 GC
930 MO 4,C
940 MO 1,C
950 SC 1,1
960 RT
* ---

C-46
Solution sheet Festo Didactic
BP70
A10

Program listing
* Subroutine: Depositing the piece *
* ---
(continued)
1000 PT 6
1010 MA 2,10,C
1020 MO 2,C
1030 GO
1040 MA 2,10
1050 MO 1
1060 OB -6
1070 RT

C-47
Solution sheet Festo Didactic
BP70
A10

C-48
Solution sheet Festo Didactic
BP70
A11

Use command MS, in order to make the tool model simulate a processing step
along a straight, smooth path. When the edges are changed, the tool model
may be rotated safely in a "change grip" position. The traversing motions are
counted by a counter and you can set the output bit by bit on the simulation
box as BUSY signal.

How large is the deviation from the straight line connecting two points
with command MO, the coordinates of which differ only by 10 cm in the X
coordinate?

With axis interpolated or synchro motion with command MO, the deviation from
the smooth line may amount to almost 1 cm. If you teach positions near the
profile plate, this deviation can be readily observed.

With which tool are sharp edges deburred?

Edges can be deburred manually by using a file. For a robot, an angle grinder
forms a suitable choice.

How can you program linearly interpolated paths?

With command MS <Position point>, <Number of intermediate points>, (<O or


C>), the robot arm can be made to travel to a positional point along a straight
line via an accurately specified number of intermediate points.

C-49
Solution sheet Festo Didactic
BP70
A11

11
8

10
9
5

6
4

7
1

B
2

Bild 11/1: Positional sketch

C-50
Solution sheet Festo Didactic
BP70
A11

Pos. No. Comment


1 Wait position

2 Approach position tool model

3 Target position

4 Approach position top for left-hand edge

5 Target position: Left-hand edge top

6 Target position: Left-hand edge bottom

7 Approach position bottom for left-hand edge

8 Approach position top for right-hand edge

9 Target position: Right-hand edge top

10 Target position: Right-hand edge bottom

11 Approach position bottom for right-hand edge

Table 11/1: Position table

C-51
Solution sheet Festo Didactic
BP70
A11

START

Approach wait position


and set counter to 0

Pick-up tool model

Set BUSY and


deburr left hand edge

Change grip

Deburr right hand edge


and reset BUSY

Counter +1 and
change grip

no
Counter = 2
?

yes

Change tool model

END

Fig. 11/3: Program flow chart

C-52
Solution sheet Festo Didactic
BP70
A11

Program listing
*** Exercise 11 ***
* ---
* Start
* ---
* Approach wait position
* and set counter to 0
* ---
10 MO 1
20 SC 10,0
* ---
* Pick-up tool model
* ---
30 MO 2
40 MO 3
50 GC
60 MO 2,C
70 MO 1,C
* ---
* Approaching position: Deburr left-hand edge
* ---
80 MO 4,C
90 MO 7,C
100 MO 6,C
* ---
* Set BUSY and deburr
* ---
110 OB +0
120 MS 5,90,C
130 MO 4,C
* ---
* Change grip
* ---
140 MO 1,C
150 MO 8,C
160 MO 11,C
170 MO 10,C
* ---
* Deburr right-hand edge
* and reset BUSY
* ---
180 MS 9,90,C
190 MO 8,C
200 OB -0
* ---
* Increase counter by 1
* and change grip
* ---
210 IC 10
220 MO 1,C
* ---
* Interrogation: Counter = 2 ?
* ---
230 CP 10
240 EQ 2,260
250 GT 80
* ---
* Change tool model
* ---
260 MO 2,C
270 MO 3,C
280 GO
290 MO 2
300 MO 1
* ---
* End
* ---
310 ED

C-53
Solution sheet Festo Didactic
BP70
A11

C-54
Solution sheet Festo Didactic
BP70
A12

It is sufficient if you teach an approach point. The relative distances can be


calculated from the geometry of the workpiece carriers as operands for com-
mand DW.

What is the usual method of teaching paint spraying robots?

As a rule, paint spraying robots are programmed by the "play-back method".

Which points must you always teach? Find an optimal (minimal) solution!

An approach position must be taught in any case. You can then carry out the
painting motion with the command DW. From the geometry of the workpiece
carrier, you calculate the width and height of the reverse side and from this, in
turn, you calculate the values for the Y or X coordinate and the Z coordinate.

By what method can you program repetitive motion sequences?

You can program repetitive motion sequences with a loop. You can construct
loops with counters, jump commands and comparison interrogations, as well
as with the language elements RC and NX.

C-55
Solution sheet Festo Didactic
BP70
A12

5
1

B
2

Fig. 12/2: Positional sketch

C-56
Solution sheet Festo Didactic
BP70
A12

Pos. No. Comment


1 Wait position

2 Approach position tool model

3 Target position

4 Approach position workpiece carrier top

5 Approach position workpiece carrier bottom

Table 12/1: Position table

C-57
Solution sheet Festo Didactic
BP70
A12

START

Approach wait position

Pick-up tool model

Approach workpiece
carrier

Travel along line

Change height

Workpiece no
carrier painted
?

Deposit tool model

yes

Approach wait position

END

Fig. 12/4: Program flow chart

C-58
Solution sheet Festo Didactic
BP70
A12

Program listing
*** Exercise 12 ***
* ---
* Start
* ---
10 SP 9
20 MO 1
* ---
* Pick-up tool model
* ---
30 MO 2
40 MO 3
50 GC
60 MO 2,C
70 MO 1,C
* ---
* Approach position workpiece carrier
* ---
80 MO 4,C
90 MO 5,C
* ---
* Loop for spraying in
* a complete curve
* ---
100 SP 1,L
* ---
110 RC 3
120 OB +0
130 DW 0,-80,0
140 OB -0
150 DW 0,0,10
160 OB +0
170 DW 0,80,0
180 OB -0
190 DW 0,0,10
200 NX
* ---
* Loop for spraying in an
* interrupted curve
* ---
180 RC 3
190 OB +0
200 DW 0,-20,0
210 OB -0
220 DW 0,-40,0
230 OB +0
240 DW 0,-20,0
250 OB -0
260 DW 0,0,10
270 OB +0
280 DW 0,20,0
290 OB -0
300 DW 0,40,0
310 OB +0
320 DW 0,20,0
330 OB -0
340 DW 0,0,10
350 NX

C-59
Solution sheet Festo Didactic
BP70
A12

Program listing
* ---
(continued) * Loop for spraying in
* an entire path
* ---
360 RC 2
370 OB +0
380 DW 0,-80,0
390 OB -0
400 DW 0,0,10
410 OB +0
420 DW 0,80,0
430 OB -0
440 DW 0,0,10
450 NX
* ---

460 MO 4,C
470 SP 9
480 MO 1
* ---
* Deposit tool model
* ---
490 MO 2,C
500 MO 3,C
510 GO
520 MO 2
530 MO 1
* ---
* End
* ---
540 ED

C-60
Solution sheet Festo Didactic
BP70
A13

First teach the positions (8 and 16) along the circular shape workpiece re-
tainer.

By means of command MC:

10 MC 10,18

or

10 MC 20,36

you can convert the point to point movement into a loop.

If the closed loop control of the robot drive units has been correctly executed,
the motion of the tool model should approach that of a circular path as the
number of intermediate points increase.

Program listing
*** Exercise 13 ***
* ---
*** Circle with 8 taught points ***
* ---
10 SP 2,H
* ---
*** Picking-up the tool model ***
* ---
20 MO 1
30 MO 2
40 MO 3
50 GC
60 TI 10
70 MO 2,C
* ---
*** Travel from point to point ***
* ---
80 MO 1,C
90 MO 4,C
100 MO 5,C
110 MO 6,C
120 MO 7,C
130 MO 8,C
140 MO 9,C
150 MO 10,C
160 MO 11,C
170 MO 12,C
180 MO 1,C
190 TI 30
* ---
***Continuous motion along a set path***
* ---
200 MO 4,C
210 MC 4,12
220 MO 1,C
230 ED*** Circle with 16 taught points ***
* ---
10 SP 2,H
* ---
*** Picking-up the tool model ***
* ---
20 MO 1
30 MO 2
40 MO 3
50 GC
60 TI 10
70 MO 2,C
80 MO 1,C
* ---

C-61
Solution sheet Festo Didactic
BP70
A13

Program listing
(continued) ***Travelling from point to point***
* ---
90 MO 4,C
100 MO 5,C
110 MO 6,C
120 MO 7,C
130 MO 8,C
140 MO 9,C
150 MO 10,C
160 MO 11,C
170 MO 12,C
180 MO 13,C
190 MO 14,C
200 MO 15,C
210 MO 16,C
220 MO 17,C
230 MO 18,C
240 MO 19,C
250 MO 20,C
260 MO 1,C
270 TI 30
* ---
*** Continuous travel along a set path ***
* ---
280 MO 4,C
290 MC 4,20
300 MO 1,C
310 ED

C-62
Appendix Festo Didactic
BP70
D

Appendix
Programming software . . . . . . . . . . . . . . . . . . . . . . . . . . . D-3
Connection of PC and drive unit . . . . . . . . . . . . . . . . . . . . . . D-6
Simulation of the Teaching Box . . . . . . . . . . . . . . . . . . . . . . . D-7
On-line mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-13
To edit a new program . . . . . . . . . . . . . . . . . . . . . . . . . . . D-14
To change an old program . . . . . . . . . . . . . . . . . . . . . . . . . D-15
To transfer a program . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-17
To transfer position data . . . . . . . . . . . . . . . . . . . . . . . . . . D-20

D-1
Appendix Festo Didactic
BP70
D

D-2
Programming software Festo Didactic
BP70
D1

Programming software

The programming software from Mitsubishi Electric Europe GmbH, Industrial Introduction
Automation, Version 2.4b (English), is primarily an editor for writing a program
for the controller of the industrial robot. In addition, you can configure the serial
interface of your personal computer and set it for the interface parameters of
the drive unit.

This serial interface is then used for exchanging the data between the editor
and the drive unit. Such data are: Programs, individual commands and position
data. You may thus load an edited program into the drive unit where it will be
translated by the interpreter of the controller.

Furthermore, the programming software contains an on-line and a teach-in


function. You control the robot by individual commands, using the on-line func-
tion, whereas the teach-in function is used to simulate the teaching box.

You can operate the programming software with the keyboard and/or with the
mouse of your personal computer. In what follows, the programming software
functions required for carrying out the exercises are described assuming key-
board operation.

When you use the programming software for the first time, copy the pro-
gramming software files into a separate sub-directory in your personal com-
puter. Start the software by entering the name of the file with the extension
".exe" after the prompt symbol and pressing the RETURN or ENTER <↵> key.

Use the ESC key to


• activate the upper menu strip
• terminate dialogue boxes or menu windows
with the arrow keys <←, ↑, →, ↓>
• tag or select a menu item,
with the RETURN or ENTER <↵> key
• activate a tagged menu item.

D-3
Programming software Festo Didactic
BP70
D1

Fig. D1: Logo of Mitsubishi Electric Europe GmbH for the programming
software MELPRO

D-4
Programming software Festo Didactic
BP70
D1

You can select or tag 5 functions in the upper menu strip with the arrow keys.
The RETURN key will then activate the tagged function.

Fig. D2: Main menu

D-5
Programming software Festo Didactic
BP70
D1

Connection of PC Activate "Setup" in the upper menu strip, and then "Serial interface":
and drive unit

Fig. D3: Dialogue Box for setting the serial interface

In the dialogue box "Setup", you configure the serial interface RS-232-C of
your personal computer. The input fields are selected with the TAB key.
Observe:
• the messages on the bottom line of the dialogue box
• the positions of the DIP switches, if you alter the interface parameters.

D-6
Programming software Festo Didactic
BP70
D1

Tag "Edit" in the upper menu strip, press the RETURN key and then activate Simulation of the
menu item "Teach-In Box". teaching box

Fig. D4: The Teach-In Box for the simulation of the Teaching Box

In the upper line of the dialogue box, you will find the actual robot coordinates:
The cartesian coordinates X, Y, Z, of the tilting angle of the ’wrist’, the angle of
rotation of the ’hand’, gripper status and, optionally, the coordinate of a further
axis. A further 5 fields are available for the input of parameters:

• Type of motion
• Step or step width
• Speed or velocity
• Teach or memorising positions
• Move or motion of the robot arm

D-7
Programming software Festo Didactic
BP70
D.1

Type of motion The types of motion: PTP, XYZ and TL are selected with the arrow keys, and
the function is then activated by the RETURN key.

Fig. D5: Type of movement: PTP mode

In PTP mode, the various axes of rotation are moved:


Waist = body,
Shldr = shoulder,
Elbow = elbow,
P = hand inclination,
R = hand rotation and changing the status of the gripper,
<O> = open,
>C< = close.

D-8
Programming software Festo Didactic
BP70
D1

Fig. D6: Type of movement: XYZ mode

In XYZ mode, you move the robot arm in accordance with the basic cartesian
coordinate system. Adjustment of the angles for hand inclination, hand rotation,
and change of the gripper status, is the same as in PTP mode.

D-9
Programming software Festo Didactic
BP70
D1

Fig. D7: Type of movement: Tool mode

In TL/LIN mode or Tool mode, the gripper is moved along the axis passing
vertically through the surface of the tool flange (selection:Z). You change the
angle of tool flange through selecting "P" in the middle line of the window.

The lowest window line can be used for adjusting hand inclination, hand rota-
tion and gripper status.

D-10
Programming software Festo Didactic
BP70
D1

Step width

Fig. D8: Changing the step pulse width for the movement of the robot-arm

You access dialogue box "Step" by the key combination ALT--S. You select a
different step width by means of the arrow keys.

You may select two speeds when teaching positions: High and Low. Speed

D-11
Programming software Festo Didactic
BP70
D1

Teaching points Activate the Teach field and input a position number.

Fig. D9: Dialogue Box for storing a position under a position number

You can, at any time, teach a position through function key F5.

Moving You establish the directions of motion with the field: Positive or negative direc-
tion. You move the robot arm also with keys + and - on your keyboard.

D-12
Programming software Festo Didactic
BP70
D1

Tag field "Edit" in the upper menu strip and press the "Enter" key. Then select On-line mode
menu item "Online Box". A new window is opened.

Fig. D10: On-line Box

Use your keyboard to input into line "Command" the robot command to be
executed. 63 commands are described in the instruction manual, Chapter 3,
COMMANDS. The command is loaded into the drive unit by pressing the RE-
TURN key. Use of function key F2 will delete the list of commands and the
ESC key will close the Dialogue Box.

D-13
Programming software Festo Didactic
BP70
D1

To edit a new program Select menu subitem "New project" under menu item "Project".

Fig. D11: Dialogue Box for generating a new project

Write a project name, which must not be longer than 8 characters, and con-
clude the input with the RETURN key. Then activate menu item "New". The
position data and the program data belong to the project. You can enter the
program line by line into the EDITOR field.

D-14
Programming software Festo Didactic
BP70
D1

Activate subitem "Opening" under menu item "Project". You will find the path To change an old
name written in the top line. You alter the directories with the dialogue boxes program
list and LWK (drive unit). You can select the dialogue boxes with the TAB key.

Fig. D12: File list for opening a project

D-15
Programming software Festo Didactic
BP70
D1

Now select the program to be changed from the list and press the "Enter" key.
The program listing appears on the editor’s display screen, and you can pro-
ceed with the program alteration.

Fig. D13: Program listing on the editor’s display screen

D-16
Programming software Festo Didactic
BP70
D1

Select menu item "Transfer" and press the "Enter" key. To transfer
a program

Fig. D14: Functions for the transfer of program data between editor and
drive unit

D-17
Programming software Festo Didactic
BP70
D1

If you wish to transfer a program into the drive unit, select menu item "Down-
load → Drive Unit". You must then input the line number of the first and last
program step into the subsequent dialogue box.

Fig. D15: Dialogue Box for downloading program data

Then activate the "Transfer" field. The transfer is indicated graphically in the
lower line of the dialogue box.

D-18
Programming software Festo Didactic
BP70
D1

In order to load a program from the drive unit into the editor, activate menu
item "Upload → Editor" and state the appropriate line numbers. Then activate
the "Load" field.

Fig. D16: Input of the program steps for loading a program

D-19
Programming software Festo Didactic
BP70
D1

To transfer position data Activate menu item "Transfer".

Fig. D17: Functions for the transfer of position data between editor and
drive unit

If you wish to transfer position data from the editor to the controller, activate
menu item "Download → Drive Unit". Then state the first and last position
number to be transferred. Then activate the "Send" field.

D-20
Programming software Festo Didactic
BP70
D1

If you wish to transfer positions from the drive unit into the editor, select menu
item "Upload → Editor". Here too, you must input the upper and the lower
position number.

Fig. D18: Dialogue Box for downloading positioning data

D-21
Programming software Festo Didactic
BP70
D1

D-22

You might also like