DESIGN AND ANALYSIS OF A CODING AND CLASSIFICATION ...
Transcript of DESIGN AND ANALYSIS OF A CODING AND CLASSIFICATION ...
DESIGN AND ANALYSIS OF A CODING AND CLASSIFICATION SYSTEM FOR A SYSTEMATIC INTERACTIVE
COMPUTER-AIDED ROBOT SELECTION PROCEDURE (CARSP)
by
ONYEBUCHI FELIX OFFODILE, B. S., M. S. in I. E.
A DISSERTATION
IN
INDUSTRIAL ENGINEERING
Submitted to the Graduate Faculty of Texas Tech University in
Partial Fulfillment of the Requirement for.
the Degree of
DOCTOR OF PHILOSOPHY
Approve^
August, 1984
m
/ / : %
ACKNOWLEDGEMENTS
I would like to express my sincere gratitude and indet
tedness to my advisors, Dr. Richard A. Dudek and Dr. Bria
K. Lambert, for their continuous guidance, supervision an
support that led to the completion of this research.
My gratitude also goes to other members of my committe
--Dr. William M. Marcy, Dr. Lebert R. Alley, and Dr. Jame
L. Smith, for their ideas and constructive criticism.
I am especially indebted to Dr. Marcy for his exper
guidance in the development of the computer software an
general design procedure used in this study. My specia
thanks also go to Dr. Smith, for his usual positive sugges
tions and proofreading at various stages of this study, Dr
Alley, for galvanizing my interest in computers and robot
ics, and to all members of the Industrial Engineering facul
ty and staff for their technical assistance in varioL
forms.
Finally, I must express my indebtedness to my brothe
and mentor, Dr. Chukwuezugo Offodile, for his support ar
sacrifices in keeping the family together after our fathe
passed away, my mother Mrs. Beatrice Chi Offodile, fc
raising us well and providing for us in spite of the har
times, my brother, Ndigwe and sisters Mabel and Ogoegbunan
for their encouragement and support.
i i
ll"""-|WPi-J- I
ABSTRACT
A coding and classification system (ROBOCODE) was de
veloped for robots, and used to model a computer based robo
selection algorithm.
Forty attributes were used to design a taxonomic syste
for robots and provided a fast and easy standard basis fo
comparing robots. The system is semi-polycode structure
and was readily computerized for easy storage and retrieva
of information on robots.
The goal of the ROBOCODE system was a user oriente
computer-aided robot selection procedure (CARSP). The CARS
system software is interactive, and its design showed tha
the ease with which the vast amount of data on robots, an
the number of robots, could be handled was limited primaril
by the disc storage space of the computer rather than th
computer memory. Coding and classification was found t
augment this storage space by a factor of about ten.
The same coding system was used to code the tasks th
robot was to perform in order to establish an effectiv
matching procedure between the task and the robot. For som
task variables that could not be matched directly, a
indirect matching procedure was developed.
Ill
A set of cost equations was developed and used t
measure the performance of the robots under shop conditions
The necessary condition for selecting a robot was that th
codes for the robot be as good as or superior to the corres
sponding task codes, and the sufficient condition was tha
the robot had a total minimum operating cost.
The robot selection model was evaluated using a statis
tical procedure to investigate the stability of the model ii
selecting the cost effective robot. Experimental result;
showed that the model was fairly stable in selecting thi
cost effective robot based on the robots' first period tota
operating cost. For a robot selection problem in which om
machine was used to perform one type of task on one type o
product (1/1/1), the cost effective robot was selected 67'
of the time, and 54% of the time for the robot selectioi
problem in which one machine was used to perform one type o
task on four different types of products (1/1/4).
IV
CONTENTS
ACKNOWLEDGEMENTS i i
ABSTRACT i i i
LIST OF SYMBOLS xiv
V
CHAPTER
I. THE EQUIPMENT SELECTION PROBLEM 1
Introduction 1 Problem Statement 3
The Robot Selection Problem 10 Prerequisites for Successful Use of Robots 12 Reasons for Using a Robot 13
Product Quality 14 Increased Productivity 14 Reliability 15 Hazardous Conditions 15 Economy 16
Objectives and Research Outline 17
II. LITERATURE REVIEW 20
Introduction 20, , Robot Selection and Robotics 21 Group Technology 26
Production Flow Analysis Approach (PFA) 27 Parts Coding and Classification 31
Structures of Coding and Classification Systems 31
Coding and Classification Systems 34 Brisch System 34 CODE System 36 MICLASS System 38 SAGT System 4 0 Opitz System 42
Grouping Algorithms 46 Cluster Analysis 47 Similarity Coefficient 49
Conclusions 53
III. ROBOT CODING AND CLASSIFICATION (ROBOCODE) SYSTEM 57
Introduction 57 1st Digit—Robot Class 63
Servo - Precision 65 Servo - Continuous Path 65 Servo - Point To Point 66 Non-Servo Point To Point 68
2nd Digit—Applications 69 Assembly 72 Arc Welding & Finishing Operations 74 Spot Welding 75
3rd - 11th Digits—Performance Characteristics 76 3rd Digit—Type of Sensors 77
Visual Sensors 79 Tactile Sensors 79 Proximity Detection 80 Contact Sensors 80 Force/Torque Sensors 80
4th Digit—Diagnostics Capability 81 5th Digit—Repeatability 83 6th Digit—Positioning Accuracy 87 7th Digit—Load Range 88 8th & 9th Digits—Velocities 91 10th Si 11th Digits—Reliability 94
12th - 21st Digits—Physical Attributes 98 12th Digit—Coordinate System 99 13th Digit—Number of Axis 101 14th Digit—Horizontal Reach 106 15th Digit—Vertical Reach 111 16th Digit—Arm Sweep 115 17th - 19th Digits—Wrist Movements 119 20th Digit—Robot Weight 119 21st Digit—Floor Space Requirements 123
22nd - 31st Digits—General Characteristics 125 22nd Digit—Memory Type 125 23rd Digit—Memory Capacity 127 24th Digit—Number of I/O Channels 130 25th Digit—Drive Train 131 26th Digit—Program Method 134 27th Digit—Effectors 136 28th Digit—Multiple Grippers 138 29th Digit—Safety Features 139 30th Digit—Mounting Position 144 31st Digit—Price Range 146
32nd - 36th Digits—Power Requirements 146 32nd Digit—Energy Consumption 146 33rd - 36th Digits—Electric Power
Requirements 149 37th - 40th Digits--Operating Environmental
Conditions 153 Conclusions 156
Coding the Robots 153
vi
f
IV. DESCRIPTION OF TASKS FOR THE CARSP SYSTEM 159
Introduction 159 Coding the Robots 161
Subroutine DATABASE 161 The ADD Subsystem 163 The UPDATE Subsystem 167 The DELETE Subsystem 171 The LIST Subsystem 173 The SUMMARIZE Subsystem 176
Subroutine SELECT 178 Subroutine SORTER 183
Assumptions Concerning the Models 188 Estimating Robot Travel Distances 188
Necessary and Sufficient Conditions for Selecting a Robot 202
Example on Definition of the Problem Constraints 204
V. COST COMPONENTS IN THE ROBOT SELECTION PROBLEM 217
Introduction 217 Cost Components in the Robot Selection Problem 218 Identification of the Cost Components 219
Investment Cost (CI ) 220 Overhead Cost (CH ) 222 Production Cost (CPr) 224 Total Operating Cost (CT^) 228
VI. EVALUATION OF THE CARSP SYSTEM 2 30
Introduction 230 Sensitivity Analysis of the Selection Problem 230
Probability Distribution 232 Net Present Worth 233
Statistical Sensitivity Analysis 235 Generation of Codes for Robot Database 238 Generation of Task Codes 238
Defining the Range of the Task Codes 238 Generation of the Task Codes 240
Generation of Cost Values 242 Selection Criteria 246
Minimum Operating Cost 246 Sensitivity Analysis: Mininimum Total
Operating Cost Criterion 248 Net Present Worth 250
Conditions of Test 251 Sensitivity Analysis: Interactive Mode 262 Summary of Test Results 263
vii
VII. CONCLUSIONS 265
Introduction 265 Summary of Research and Conclusions 265 Recommendations for Future Research 270
REFERENCES 2 74
APPENDIX
A. FORTRAN PROGRAM CODES FOR EVALUATION MODELS OF
CHAPTER 6 287
B. CARSP SYSTEM USER MANUAL 314
C. EXAMPLE QUESTIONAIRE FOR INTERACTIVE EVALUATION 380
D. STRUCTURE OF THE OPITZ CODING SYSTEM 392
Vlll
LIST OF TABLES
1. PFA Methodology in Matrix Form 30
2. Some Common Coding Systems 34
3. PCA Methodology in Matrix Form 45
4. ROBOCODE - First position 64
5. ROBOCODE - Second Position 71
6. ROBOCODE - Third Position 78
7. ROBOCODE - Fourth Position 8 3
8. ROBOCODE - Fifth Position 86
9. ROBOCODE - Sixth Position 89
10. ROBOCODE - Seventh Digit 91
11. ROBOCODE - Eighth Position 93
12. ROBOCODE - Ninth Position 94
13. ROBOCODE - Tenth Position 96
14. ROBOCODE - Eleventh Position 98
15. ROBOCODE - Twelfth Position 100
16. ROBOCODE - Thirteenth Position 106
17. ROBOCODE - Fourteenth Position 111
18. ROBOCODE - Fifteenth Position 115
19. ROBOCODE - Sixteenth Position 118
20. ROBOCODE - Seventeenth To Nineteenth Positions 121
21. ROBOCODE - Twentieth Position 122
22. ROBOCODE - Twenty First Position 124
IX
23. ROBOCODE - Twenty Second Position 126
24. ROBOCODE - Twenty Third Position 128
25. ROBOCODE - Twenty Fourth Position 132
26. ROBOCODE - Twenty Fifth Position 133
27. ROBOCODE - Twenty Sixth Position 135
28. ROBOCODE - Twenty Seventh Position 137
29. ROBOCODE - Twenty Eight Position 142
30. ROBOCODE - Twenty Ninth Position 143
31. ROBOCODE - Thirtieth Position 145
32. ROBOCODE - Thirty First Position 147
33. ROBOCODE - Thirty Second Position 148
34. ROBOCODE - Thirty Third Position 150
35. ROBOCODE - Thirty Fourth Position 151
36. ROBOCODE - Thirty Fifth Position 151
37. ROBOCODE - Thirty Sixth Position 152
38. ROBOCODE - Thirty Seventh Position 154
39. ROBOCODE - Thirty Eight Position 155
40. ROBOCODE - Thirty Ninth Position 156
41. ROBOCODE - Fortieth Position 157
42. Ranking Robot Attributes in Descending Order of Use 197
43. Number of Robots Found for Given Number of Con
straints 200
44. Tightening Selection Constraints ' 202
45. Necessary Condition for Example Problem 205
46. Cumulative Probability Matrix For Robot Codes 236
47. Data for Studying Contributions of the Cost Components 239
48. Job and Robot Codes 241
49. Minimum Total Operating Cost for Candidate Robots: CASE A 24 7
50. Minimum Total Operating Cost for Candidate Robots:
CASE B 248
51. Reliability of the Selection Criterion: CASE A 249
52. Reliability of the Selection Criterion: CASE B 250
53. Test Conditions 253
54. Projected Total Operating Costs for 5 Year Period:
CASE A 2 54 55. Expected Total Operating Costs for 5 Year Period:
CASE A 255
56. Results of the Net Present Worth Analysis: CASE A 256
57. Projected Total Operating Costs for 5 Year Period:
CASE B 259 58. Expected Total Operating Costs for 5 Year Period:
CASE B 260
59. Results of the Net Present Worth Analysis: CASE B 261
XI
LIST OF FIGURES
1. Robot Installation Projections {117} 6
2. Comparison of US Productivity {60} 7
3. Comparison of Robot and Manual Costs {36,117} 8
4. Robot Segment {138} 25
5. Benefits of Group Technology {3} 28
6. Example of a Part Coded in the BRISCH System 35
7. Example of a Part Coded in the CODE System 37
8. Example of a Part Coded in the MICLASS System 39
9. Example of a Part Coded in the SAGT System 41
10. Example of a Part coded in the Opitz System 43
11. Grouping of Digit Positions 62
12. Distribution of Robot Repeatability 85
13. Distribution of PA 88
14. Distribution of Payload 90
15. Robot Coordinate Systems 102
16. Distribution of Robot Coordinate Systems 104
17. Distribution of Number of Axis 105
18. Robot Movements 107
19. Robot Horizontal Reach 108
20. Distribution of Robot Horizontal Reach 110
21. Robot Vertical Reach 112
22. Distribution of Robot Vertical Reach 114
xii
23. Robot Arm Sweeps 116
24. Movements at the Wrist 120
25. Independently Controlled Multiple Grippers {36} 140
26. Simultaneously Controlled Multiple Grippers {103} 141
27. ADD Subsystem/User Interaction 165
28. UPDATE Subsystem/User Interaction 168
29. DELETE Subsystem/User Interaction 172
30. LIST Subsystem/User Interaction 174
31. SUMMARIZE Subsystem/User Interaction 176
32. SELECT System/User Interaction 179
33. Line and Cell Type Layouts 186
34. Estimating Robot Travel Distances: n/l/K Model 189
35. Estimating Robot Travel Distances: n/I/K Model 190
36. Mapping the Travel Distances 193
37. Number of Robots vs First 1 Significant Constraints 199
38. Model Layout for the Example Problem 206
39. SORTER System/User Interaction 209
Xlll
LIST OF SYMBOLS
a,b,c = the three sides of a triangle
ai = distance between any two equipment
A = objective function vector
bi = components of the requirements of each robot's attribute
Bi = each task constraint vector
Cp = cost/kilowatt hour of power supply
C = cell type layout
^a'^m'^b " respectively the optimistic, most likely and pessimistic cost values of a beta distributed cost function.
(Ca)r ' planning and consultation costs for robot r
CA = each component of the total operating cost
(Cb)r - initial cost of basic unit of the robot
(Cg)i- = cost for retraining personnel
CHj. = overhead cost for robot r
Cij = cell representation of the state of a part j on machine i, and has a value of 0 or 1.
CIj. = investment cost for robot r
(Ci)j. = costs of labor
( m r " maintenance cost for robot r
( p)r " cost for power supply for robot r
CPj. = production cost for robot r
(Cs)r = installation and startup cost for robot r
(Ct)r " cost for special tooling dte to robot r
xiv
CTj. = total operating cost (CT) for robot r
(CT)^t = total operating cost for robot r at time period t
(C )j- = cost for workplace redesign due to robot r
di = arc distance between any two equipment
D = total distance between all equipment
Dij = dissimilarity coefficient between parts i and j
E(CH) = ecpected overhead cost
E(CI) = expected investment cost
E(CP) = expected production cost
E(CT) = expected total operating cost
E(T) = expected mean of a variable T
h-| = hourly cost of labor at setup shop
h^ = other hourly costs of labor (e.g., quality inspection)
I = number of operations/product
K = number of products
KvA = kilovolt amperes
1 = number of attributes specified as the task constraint
L = line type layout
m = number of robot motions
M = number of discrete variables in a data set
n = number of machines in a work cell
n/I/K = a robot selection model (with the variables as defined ealier).
N = total number of parts
NPW(i)r- = net present worth of the cost function for robot r at a MARR of i
XV
P = number of personnel
PW(i)j- = present worth of the cost function on robot r with a minimum acceptable rate of return i
qj = lot size for product k
Q; = yearly demand for product k
R = radius of an arc described by a robot arm sweep
Rl = inner radius of a robot's arm
R2 = outer radius of a robot's arm
Si = setup time due opeartion i
S]^ = setup time due to product k
Sij = similarity coefficient between parts i and j
Sj- = total setup time on robot r
t = time
ti = actual operating time per product
t2 = handling time per product
( c k ~ cycle time for product k
u = number of working days per year
V = number of working hours per day
V = velocity
V(CE) = variance of the production cost
V(CI) = variance of the investment cost
V(CT) = variance of the total operating cost
VNPW(i)j- = variance of the NPW of the cost function for robot r at a MARR of i
Vp = minimum velocity required to complete a task
Vj- = velocity of the robot
XV i
V(T) = variance of the expected mean of a variable T
W = total number of components/constraint
XQ = objective function decision variable
X^ = robot i with attribute vector X
X^i = number of parts using only machine i
Xij = number of parts using both mdrhines i -iiiH j
Xjj = number of parts using only machine j
Yj = task j with attribute vector Y
Z\^ = environment k with attribute vector Z
P[ = set of operations required on component i
3j = set of operations required on component j
A = number of cost components
n = number of time periods
e = the angle of a triangle
xvii
CHAPTER I
THE EQUIPMENT SELECTION PROBLEM
Introduction
The problem of machine selection has been of concern to
both manufacturing engineers and managers for a long time.
This is true now, more than previously, since machines have
become more complicated. As a result, the selection process
is more critical due to the high investment costs that are
usually involved. In robotics, this problem is becoming
more and more interesting because of the varying capabili
ties of robot systems, their complexity and several other
attributes. However, robots have certain structural charac
teristics not found in most conventional machines which an
engineer can use to advantage to enhance the selection pro
cess .
The Robot Institute of America (RIA), defines a robot
as a "reprogrammable, multifunctional, manipulator designed
to move materials, parts, tools or special devices through
variable programmed motions for the performance of a variety
of tasks" {117}. The keywords in this definition have been
underscored, and taken collectively they mean flexibility.
This flexibility is the main reason for the increasing use
1
of robots in manufacturing industries. Reprogrammability
makes it possible to adapt the robot to batch type manufac
turing where the switch from one part or batch to another
can be effected by merely changing the program of instruc
tions. In multifunctionality lies the versatilty of the ma
chine as the robot can perform a wide variety of tasks. It
is important at this point to differentiate a robot from
other forms of programmable automation systems. This dif
ferentiation is in the manipulative capabilities of the ro
bot. With its ability to move materials through space the
robot can be more readily declassified from its progenitor,
the classical numerical control machine. With these attri
butes, robots have given the manufacturing engineer both the
capability of automation and the flexibility of manual la
bor. Even though the throughput of the robot is still below
that of dedicated and fixed automation, it is relatively
higher than that of manual labor.
In recent years through the impetus of reduced cost,
improved power and intelligence offered by advancements in
computer technology, robot systems have become more sophis
ticated than ever before. The criterion for their use has
either shifted from the usual safety standpoint or expanded
to other criteria. Consequently, more and more manufac
turing engineers and managers are beginning to employ robots
in varying capacities.
Problem Statement
Manufacturers of consumer goods have always been faced
with the problem of reducing the cost of production, a prob
lem they have often addressed by investing heavily in dedi
cated equipment for very high production volumes. One major
disadvantage in this system is that it is not flexible.
Once a production line is arranged to fabricate a given com
ponent it is usually impossible to rearrange it for a dif
ferent product line. The manufacturer is, therefore, often
left with a useless multi-million dollar investment at the
end of a production run. Even when rearrangement is possi
ble, the cost of doing so is usually so high that it makes
the venture unattractive. Flexibility is needed so that the
customers' insatiable appetite for varied and better quality
products at lower costs can be met. This means that manu
facturers of consumer goods will have to deal with a great
variety of products, general purpose equipment and different
routing and tooling requirements. Technically, this calls
for the production system to be flexible, a trait that is
typical of the batch type manufacturing. Unfortunately,
however, the level of productivity for the economy of scale
as can be found in a mass production system is lost with the
batch type manufacturing system.
since about 75% of all metal working industries are of
the batch type, there has been a concerted effort on the
part of machine designers to design a machine that can si
multaneously address the productivity and flexibility prob
lems. In the early 1950's their effort was rewarded with
the development of the numerical control machine. Although
the numerical control machine and the Computer- and Direct
Numerical Control (CNC & DNC) machines fell short of the
level of productivity of dedicated machines, they filled the
flexibility gap so superbly that the productivity problem
was almost non-existent.
With the passage of the Occupational Safety and Health
Act in 1971, batch manufacturers were faced with yet another
problem of even greater dimensions. Soon the gains made by
using N/C machines were begining to erode as manufacturers
had to invest heavily in safety equipment, insurance and
workmans compensation. These measures were only cosmetic,
however, as cost of production continually soared and pro
ductivity declined. Manufacturers therefore sought avenues
to remove the worker from the hazard areas completely.
Meanwhile, some manufacturers, for example the die casting
industry, had begun experimenting with robots. With ad
vancements in computer technology during this period, the
robot went through numerous improvements and attracted other
users in the manufacturing industries.
In the past five years, the total number of robot
installations in the United States has increased by as much
as 530% after a 130% increase over the five previous years
{117}, Figure 1. Many projections expect this increasing
trend to continue for the next several years, and for the
current 7,000 robot installations in the United States to
increase to about 100,000 by the year 1990 {65,117}. Two
major factors have contributed to this increase. First, for
the past twenty years, the productivity rate of the United
States has lagged compared to that of overseas competitors
{60}, Figure 2. Second, during the same period, direct la
bor cost was increasing at an alarming rate as manufacturing
personnel were given wage concessions for performing unplea
sant, hazardous and/or monotonous jobs {36,117}, Figure 3.
Manufacturing engineers and managers saw in robots the solu
tion to this escalating cost of labor and decreasing growth
rate per employed person.
With this boom in robot technology, came the problem of
standardization. In the US alone there are well over 50 ro
bot manufacturers each with its own unique ideas on robot
configurations and programming languages. On the other hand,
the robot user, probably due to his eagerness to acquire the
machine, often does not have the patience, and in most
cases, the time to search through the literature or contact
CUMULATIVE TOTAL OF U.S, ROBOTS 2S0H
200-
1
a ISO-B 0 T s I N s r L 100-L
0
50-
0-
/ /
/ /
/ /
/ y
1960 1982 196M 1968 1986
TEARS
1. JtOBOTS INS7ALLXD IRI IN (000)
1990 1992
Figure 1: Robot Installation Projections {118}
7
JAPAN
GERMANY
FRANCE
CANADA
UNITED KINGDOM
UNITED STATES
9.1%
AVERAGE YEARLY PRODUCTIVITY GAIN IN MFG 1950 - 1975
Figure 2: Comparison of US Productivity {60}
^s, i^ufr^^rar'TifSPP^ -on^J. ^OBOT JN Tiaus V^n^
/
J 975
LEGCNOJ NUMBER
TEAR 1980
'• - M ? . K ^ - - - - <v
ises
figure 3: •• Comparison of Robot
and Manual Costs f36,lI8i
i X.
as many vendors as possible to determine the systems
available to him. With the varying robot capabilities,
species, and manufacturers available to the potential user,
it becomes exigent to devise a systematic methodology for
selecting the right equipment for a given task.
It is, at best, difficult and impractical to get all
robot manufacturers to agree to a standard robot configura
tion or programming language and method. However, these
variations can be made readily available to the potential
robot user in a more systematic manner. Under the assump
tion that a manufacturing concern has decided to use a robot
for a given operation, the objective in this research was to
introduce the concept of standardization into the robot se
lection process. Specifically, a systematic interactive
computer algorithm was developed that could be used for se
lecting robots for a given operation. This was with the
hope that such an interactive algorithm could help the po
tential robot user save valuable time and money by providing
him a good tool for selecting the robot system most suited
for his operational needs.
10
The Robot Selection Problem
Consider a task j, with attributes (characteristics) Y,
to be done by a robot. The task may vary in complexity from
a simple pick and place routine to spot welding, and to a
higher degree of complexity of arc welding or assembly.
Further characteristics of the task may include the weight,
shape, size and design data of the part to be moved, etc.,
and may be represented by,
Y. = (y ,y ,...,y.,...,y^). i.i J 1 2 J n 3
Also consider the environment k, where the task is to be
performed, with attributes (characteristics) Z. The envi
ronment could vary from normal to extremely hot or cold,
from narrow to spacious, or from single to multiple machine
servicing. The environmental attributes may also include
distance between the machines, the ambient temperature,
etc., and may be represented by,
^k " ^^1'^2 " ' *'^k'• • *'^m^k - '
The problem is to select the robot i, with attributes
(characteristics) X, that can perform the task within its
environment at a minimum production cost. The robot attri
butes may be the maximum permissible weight of lift, energy
consumption, number of degrees of freedom, work envelop,
repeatabiIty, etc., and may be represented by,
11
Xi = (x^,X2,...,xi,...,xi)i 1.3
The Objective function can then be stated as follows:
Minimize CTr = Z CA. 1.4 6 = 1 ^
S. T. X-L >= Yj + Zk 1.5
Xi,Yj,Zk >= 0
where,
CTj. = The total cost incurred by using a given robot r
CA^ = Each component of this incurred cost
A = The number of these cost components
X-L,Yj and Z]^ are respectively, the robot, task and en
vironmental variables.
The complexity of this selection problem, perhaps, can
be better appreciated when one realizes there are over one
hundred potential robot attributes that may have to be con
sidered {1051. With over fifty robot manufacturers and
about two hundred robot species {64,105,135}, the net effect
of this complexity is that the engineer or manager wanting
to select a robot for an operation ends up spending too much
time and money without much degree of certainty that he has
made the right choice. The selection procedure as intro-
12
duced in this study was geared toward minimizing the search
process by employing the speed and memory capacity of the
computer.
Prerequisites for Successful Use of
Robots
In spite of the recent developments in robot technolo
gy, robot systems still require an orderly working environ
ment in order to effectively perform their assigned tasks.
The operation sequence should be as repetitive as possible,
and should require little or no judgment. Perhaps the most
important thing is to realize that a robot is a machine.
Most users tend to compare robots with humans and are disap
pointed when certain expectations are not met. In some op
erations, human presence is indispensable and should be used
to complement the robot, and vice versa. The onus of the
analyst is to identify those tasks that can be better per
formed by robots due to their design, dexterity, strength,
consistency, ability to withstand hostile environments, etc.
Finally, the main concern in any form of business endeavor
is cost. Some managers are apprehensive of robots merely
because of their costs, and some analysts find it difficult
to justify them. Robot experienced users {36,99,131} have
found that the best way to justify the installation of a
• 4 .
13
robot is to argue for its merits in bottleneck production
situations. Then, as the robot proves its worth in these
bottleneck situations, it would be a lot easier to convince
management to try it in other production areas. Bottleneck
situations include direct economic and non-economic fac
tors. Tanner {130} contends, however, that "even the 'non-
economic' considerations are, in the final analysis, basi
cally economic in nature" {p. 127}. Some managers tend to
look only at the effects of bottleneck: reduced productivi
ty or net loss in profit margin. Bottleneck situations are'
caused in part by conditions that are not conducive to effi
cient factory operations. These causes and .effects are the
main reason for the continued increase in the use of robots
in the manufacturing industry. Some of these causes and ef
fects of bottleneck situations are discussed subsequently.
Reasons for Using a Robot
Until about ten years ago, robots had been used mainly
in those manufacturing processes where the operational pro
cedure was hazardous to the human operator. This was the
main reason for the early successful use of robots in the
foundry industry. In recent years, however, robot users
also cite product quality, eco-nomy, productivity, and
reliability as some other reasons for using a robot.
14
Product Quality
A robot is not liable to be detracted by changes in the
working environment as a human being would. Thus, where the
quality of physically demanding jobs or those in a hazardous
environment may deteriorate with the mood of the human oper
ator, it may not with robots. Once the program of instruc
tions is fed into the system, the output always conforms to
quality specifications. This avoids the problem associated
with different operator working practices. Scrap and re
jects are reduced resulting in increased productivity.
Increased Productivity
Robots do not necessarily work at faster rates than
skilled human operators. In certain tasks requiring complex
motions, a human can actually work faster than a robot.
However, unlike the robot, the longer the work cycle gets,
the slower and more inconsistent the human worker tends to
become due to fatigue. Robots can therefore work continu
ously for a greater number of hours and the variation in the
quality of finished goods is less than that of humans. Be
cause of their consistency in turning out better quality
products, the net total output for a robot is higher than it
would be for a human. This results in a greater output per
hour of labor input. With improved quality in products,
there is less scrap and rework and, higher productivity.
15
Reliability
Robots "work without complaint, start on time, are nev
er absent and take no breaks or vacations" {137}. This
quote was from a specification sheet by one of the US major
robot manufacturers. The statement is neither meant to be
callous nor sarcastic. Rather, it is a very straight for
ward way of making a point. One of the problems in most
manufacturing industries is that of absenteeism. Although
in some cases the cause of absenteeism could be traced back
to the factory floor, the fact remains that a robot is not
subject to any of these conditions. Applications experi
ence {36,101,131,139} has shown that robots have fairly high
reliability in terms of their uptimes, and that an uptime of
98% is common {36,103}.
Hazardous Conditions
Since the enactment of the Occupational Safety and
Health Act (OSHA) in 1971, safety has become of great con
cern to all manufacturers who have been finding it increas
ingly difficult to abide by all the OSHA regulations. The
heat and fumes from molten metals in the die cast industry
is a good example. One way manufacturers have found
expedient to avoid run-ins with the agency is by automation.
The human operator is given a supervisory role over the
\
16
machines, thereby removing him from the danger zone. On the
other hand, management is saved some money on personal pro
tective equipment which the operator may seldom use. Insur
ance premiums are relatively lower, and legal fees and po
tential workmans compensation are minimized. The robot has
fostered the manufacturer's automation capabilities due to
its reprogrammability, multifunctionality and manipulative
capabilities. One of the most common industrial accidents
is that resulting in back injuries. In the past 10 years,
these injuries have gained a major research effort as ergo-
nomists tried to find the best lifting posture and maximum
acceptable weight of lift. Of course the problem with
these standards is in the enforcement phase. Every human
operative has his own unique way of doing things, and usual
ly finds it cumbersome to adapt to changes regardless of
whether his health depends on it or not. With the robot
this problem is essentially eliminated.
Economy
In a survey of some industrial robot users, Sanderson,
et al. {117} found that the main reason for using robots for
a given operation was economic. This is both due to
escalating cost of labor, cost for personal protective
equipment, in process inventory, poor quality products and
17
possible scrap and rework. Due to the escalating cost of
labor, for example, it is becoming increasingly attractive
to substitute automatic equipment for manual labor. Al-
though initial higher investments are involved, the operat
ing costs on these machines remain relatively constant while
that of manual labor increases exponentially {36,117}. From
the general shape of the learning curve, it can also be ar
gued that employees are more expensive to maintain after a
given time period. They move into management positions, go
up in the salary structure, are entitled to more company
benefits- longer vacations, family insurance, pensions, etc.
All these add up to increases in the total overhead cost of
the company.
Objectives and Research Outline
The major objectives of this research are:
1. To introduce the concept of standardization into the
robot selection process.
2. To choose appropriate robot characteristics for the
creation of Robot Descriptive Database (RDD).
3. Development of a Robot Coding and Classification
System (ROBOCODE) using these characteristics.
4. Development of a grouping algorithm that can group
robots based on a given criterion.
18
5. Translation of task variables to those of the robots
in the RDD.
6. Development of a procedure for matching task vari
ables to those of the robots in the RDD.
7. Choosing of the right robot through an economic anal
ysis model.
8. Integration of these objectives through an interac
tive computer algorithm.
In Chapter 2, previous research work on the robot se
lection problem are reviewed. Since this research effort
was designed around Group Technology (GT) principles, some
coding and classification systems are reviewed together with
techniques for grouping families of parts.
In Chapter 3 the robot coding and classification system
is designed and presented. Chapter 4 deals with the task
analysis aspect of the selection procedure. The objective
here is to define and establish relationships between the
task and environment characteristics which the user can use
as input into the system. The task-robot matching process
is also discussed in this chapter. Other supporting subrou
tines in the Computer-Aided Robot Selection Procedure
(CARSP) system are also presented and explained in this
chapter.
19
Once the robots that match the specified task are
found, they are subjected to an economic analysis model.
These cost models are presented in Chapter 5, and the com
puter program ECONOMY is the subroutine in the CARSP system
used for this purpose.
The methods used to evaluate the CARSP system are pre
sented in Chapter 6. Although some examples are given with
in each chapter or segment of this study, a problem is posed
and solved in this chapter so that the whole solution proce
dure can be integrated. Results of a similar problem solved
in an interactive mode by users other than the designer are
also presented. The robot selection problem and the solu
tion procedure used in this study are summarized and recom
mendations for further research studies on this problem sug
gested in Chapter 7.
The appendices at the end of this study are of particu
lar interest as they will help to enhance the clarity of the
subject matter. The reader who is interested in the mechan
ics of the CARSP system is advised to refer to these append
ices as often as possible.
CHAPTER II
LITERATURE REVIEW
Introduction
Robot technology has been around for more than half a
century now, but it wasn't until a little over ten years ago
that industries realized the need for more diversified use
of the system. With new developments in computer technolo
gy, robot technology has gained even more attention. Engel-
berger's "Robotics In Practice" {36} probably did as much
for the increased interest in robotics as did computer tech
nology. The book was probably the first concise work on the
subject, and "remains the single most useful introductory
book on industrial robots" {64, p. 178}. Starting with the
history of the technology, Engelberger described its appli
cations and advantages and concluded with the current state
of the art and future developments. Since then more re
search materials have been published in the literature. Nof,
et al. {91}, for instance, proposed a man-robot job assign
ment criteria. And most recently, Kamali, et al. {69} sug
gested a robot-human-automation framework for integrated
assembly systems.
20
21
Robot Select ion and Robotics
Some of the major problems in robotics are not as much
those of technology as they are of administration. Because
even as the technology is continuously progressing, the ro
bot user is still lagging in his efforts to optimize its
use. There are at least 7000 operational robots in the US
today, as was seen in Figure 1, and well over fifty manufac
turers each very eager to control the market. Consequently,
there are thousands of salesmen haranguing potential robot
users with all the benefits of robotics in the manufacturing
industries.
In the past, robots were used mainly in those manufac
turing systems where the operational procedure was hazardous
to the human operator, for example, the heat and fumes of
the foundry industry. Then, justifying and evaluating a ro
bot system was relatively straight foward; it was going to
take the operator out of a danger zone. In the modern man
ufacturing industry, however, the criterion for using a ro
bot system has either shifted or broadened and users now
cite productivity, operating cost reduction, dependability
and quality as their main reasons for using a robot
{117,131}. Because of these varied criteria and the varia
tion in the species of robots that can meet them, there is
an ever increasing need for the potential robot user to know
22
which robot system is best suited for his particular
operation. Many researchers have tried to address this need
by proposing some task assignment criteria for robots and
alternative machines {69,91,93,102}.
Several research papers have been written on methods of
determining the appropriate robot for a given task
{76,91,93,102}. Paul and Nof {102} introduced a Robot Time
and Motion (RTM) methodology for the analysis and design of
robot work. Compared to the Methods Time and Measurement
(MTM) for humans, the authors found that while the MTM meth
odology may be desirable for work method analysis for ro
bots, different motion elements and parameters should be de
fined for robot work. From a table of RTM values developed
for distance, weight and tolerance, it is possible, in an
industrial setting, to transform a given robot performance
to that of a human.
Nof, et al. {91} carried the Paul and Nof study even
further. They reported on a comparative robot-man skills
and characteristics guide for choosing between robot and man
for a given task. Once the decision was made to use robots
the authors then provided information on the characteristics
of the robot that should perform the task. Although the
study is general in nature, it does provide a framework for
evaluating alternative robot models for a given task.
23
Since the work of Paul and Nof, researchers have
developed additional models of robot production systems.
For instance Kamali, et al. {69} proposed a methodology for
designing tasks involving the choice between man, robots and
automation.
Most recently, Nof and Lechtman {93} described the Paul
and Nof RTM system in detail. The three main components of
their model are;
1. RTM,
2. Robot performance models, and
3. The RTM annalyzer.
The methodology has the capabilities of
1. Systematically specifying a work method for a given robot in a simple, straight forward manner.
2. Applying computer aids to evaluate a specified method by time-to-perform, number of steps, positioning tolerances and other requirements so that alternative work methods can be compared.
3. Repeating robot evaluation for alternative robot models {93, p. 38}.
The RTM system has ten general work elements which the
authors have divided into four major groups: Motion,
Sensing, Tool and Delay Elements. Under each element group,
pertinent parameters have been specified and may vary frorr;
24
one robot to another. Within these parameters, the authors
have identified four modeling approaches for each element
group.
1. Element tables: Tables of data obtained from actual
motion and time measurements for a variety of robot
systems. The authors developed such tables for the
Stanford Arm and the Cincinnati Milacron T .
2. Regression Equations: Used for predictive purposes
when observation values are random.
3. Motion Control: Used when information on the robot
engineering design is available.
4. Path Geometry: By specifying the path geometry, the
motion time can be found based on the robot's joint
and link velocities.
The use of this method for the robot selection problem will
involve the analysis of both the design and mechanics of ro
bots under each of the four categories. For a manufacturer,
this may not only be time consuming and laborious, but also
expensive.
Vukobratovic {138} has, however, shown that the spheri
cal robot is superior to all others in terms of speed and
energy consumption based on the following assumptions:
1. The robot can make the required geometric moves.
25
2. The stresses in the robot segments do not exceed
certain permitted values.
3. The driving motors of the robot joints can produce
the forces and torques necessary for the task.
4. The deviation due to elastic deformations of the seg
ments do not exceed certain permissible values.
In developing his models, Vukobratovic further assumed that
the robots are all constructed with a cylindrical tubing
(Fig 4). He then formulated the optimization problem as
that of minimizing R^, by setting the ratio R /R equal to a
constant.
R7 -^
Figure 4: Robot Segment {138}
26
Group Technology
Two of the objectives of this study were to develop a
coding system for robots, and subsequently use the coding
system to design a classification system for use in the
CARSP system selection algorithm. Coding and classification
are components of a manufacturing technique known as Group
Technology, and will be discussed in this section.
The objective in Group Technology (GT) is to identify
and classify only permanent and logical characteristics of
the grouping entities in order to take advantage of their
similarities in manufacturing and design. The concept of GT
is therefore that of problem solving defined by Solaja {124}
as that of realizing "that many problems are similar and
that, by grouping similar problems, a single solution can be
found to a set of problems thus saving time and effort."
Loss of time and effort are the main reasons it has not been
possible to achieve an economy of scale in the batchshop
comparable to that of mass production systems. Not only
does the batch manufacturer have to contend with different
part configurations, general purpose machines and different
tooling requirements, but also transportation of these parts
between machines and the set-up of each machine for a given
part. Merchant {in 134} notes that an average part spends
only about 5% of its time in an actual metal removal
27
operation, and about 95% either waiting for a machine to be
available or on transportation between machines. Since the
introduction of GT the transportation and setup times have
been reduced resulting in improved productivity. Figure 5
{3} shows some other benefits from the introduction of Group
Technology. The grouping of similar parts means that they
can use the same machine setup and can be transported to the
machine in one trip. As a result of using these GT prin
ciples in the batch manufacturing systems, small and medium
size productions are actually integrated to form semi mass
production systems. Different aspects of this GT concept
will now be discussed so 'as to lay the ground work for their
use in this research. Grouping similarity can be based on
manufacturing or design attributes, known respectively as
Production Flow Analysis and Parts Coding and Classifica
tion.
Production Flow Analysis Approach
(PFA)
The manufacturing attribute classification system is
concerned with the analysis of the operation sequence and
machine routing used for the production of the grouping
entities. This methodology, known as the PFA, is based on
the premise that grouping parts with similar process routes
28
will minimize the risk of capital expenditure on additional
machines that may not be needed. The methodology was first
introduced by Burbidge {14,15,19}, and since his work, sev
eral other researchers have introduced different versions of
the technique {21,24,72}.
Productivity
Effective Machine Operation
Reliability of Estimates
Component Stondord-izotion and Rationalization
Can Increase
Costing Accuracy
Customer Service
Order Potential
GROUP T E C H N O L O G Y
Planning Effort Can Reduce Overall Cost
Paper Work
Setting Time
Down Time
n
Work in Progress
Finished Ports Stock
Overall Production Times
Work Movement
Figure 5: Benefits of Group Technology {3}.
29
The PFA methodology as enunciated by Burbidge can be ap
proached in the following manner.
1. Analyze parts with respect to routes.
2. Group parts that use the same set of machines.
3. Arrange machines to minimize or eliminate backtrack
ing.
4. Use the same tools and materials within each machine
groups.
Production flow analysis methodology can be represented
in a matrix form as shown in Table 1. The representation is
based on the cell admissibility principles. A cell is ad
missible only if the part requires processing on the corre
sponding machine, and it is not otherwise. Then,
il if part i can be processed on machine j.
0 otherwise,
where,
Cij = The state of part i in machine j.
This approach to GT is limited in its capabilities, however.
This is because even though the methodology can be used to
effectively form groups of parts and machines, it does not
give any insight into the actual production systems. For
instance information on the types of material for the parts,
30
batch quantity for each part, or the degree to which a given
machine can perform an operation on a part. The methodology
apparently assumes that every other requirement is met and
the objective is to make the most effective use of available
facilities through group formation.
TABLE 1
PFA Methodo logy in M a t r i x Form
P A R T S
m
M
A
C
H
I
N
E
S
n
31
Parts Coding and Classification
The design attributes classification system or Parts
Coding and Classification Analysis (PCA) is mostly concerned
with the use of individual part design features for group
formation. Such features include tolerances, materials re
quirement, part shapes and sizes. This concept of using de
sign features for the purpose of describing and grouping
similar parts was introduced by Mitrofanov {87}. Opitz
{96,97} later extended the idea to production cells and de
veloped a comprehensive coding and classification system for
work pieces. Since these two pioneering works several other
coding and classification systems have been developed. Some
of these systems will be discussed later in this chapter.
All of these are restricted to component parts, however, and
can be of any of three possible structures.
Structures of Coding and Classif i-cation Systems
Coding and classification systems generally fall into
one of three categories: monocode, polycode or hybrid.
In the Monocode, the meaning of a given digit depends
on the meaning of those digits preceding it in the code
number string. For example, the last digit of a lottery
number has no meaning if the digits preceding it are not
32
known. Monocode is therefore a system of synthesis and
analysis. In synthesis, the entire population of items are
divided into a small number of subgroups each with a dis
tinct common attribute. Much like in a decision tree, it is
the code for this common attribute that governs the rest of
the code number for each subgroup. In analysis, each sub
group is broken down into its unique attributes until divi
sions are no longer necessary or the lowest class of divi
sion is reached. The major advantage of this coding system
is that more information can be contained in fewer code num
ber strings.
The Polycode classification system views the "popula
tion of items to be classified and decides on a set of ques
tions to be asked about each collection" {30, p. 89}. The
answers to these questions if asked, recorded and coded in
the same order constitute a polycode structure. Unlike the
monocode, the presence of a given feature of the coded com
ponent does not depend on the presence or absence of any
other feature. The meaning of any digit in the code is
therefore self contained, and the order of the digits may be
reversed without any loss of generality. However, as a
matter of expedience, an order is maintained in which the
most important features are coded first. This is also
particularly desirable as one inherent problem with the
33
polycode system is that the code may be intractable if the
number of variables are not restricted. Starting with the
most important features down to the least important ones al
leviates this problem as the code number can be truncated if
it is determined that the major features have been coded.
Eckert {30} contends that most coding systems used in
industries are Hybrid. The hybrid system combines the best
of monocode (synthesis into subgroups), and the best of po
lycode (individual feature coding independence). The mono-
code is usually the first digit in a hybrid structured cod
ing system, and the polycode makes up the rest of the
digits. - It is possible in some cases for the polycodes to
even diverge to start a new monocode structure and so on.
An example is the Opitz coding system which is "a collection
of small number of polycodes and, within each one, the dig
its are independent of other digits" {30, p. 90}.
The advantage of the polycode or semi-polycode over the
monocode is in the ease of computer cataloguing and retriev
al of independent digits. With the monocode, this exercise
is extensive and some time very difficult. Table 2 shows
some common coding systems, the number of digits each
supports, and the types of code each uses. Over the years
several different coding systems have been developed to help
manufacturers handle part data problems. A few of these
TABLE 2
Some Common Coding Systems
34
System Number of Digits Type of Code
PNC
CODE
MICLASS
OPITZ
TELKA
6
8
12
9
12
Monocode
Semi-Polycode
Semi-Polycode
Semi-Polycode
Polycode
systems will now be discussed. The example part used for
each system was cylindrical so that better comparison could
be made between the respective coding systems.
Coding and Classification Systems
Brisch System
The Brisch coding system is tailor-made to code parts
for a particular organization, and consists of from 4 to 6
digits {30,59,60}. The main objective of this system is for
component retrieval and variety reduction. The basic part
35
of the system is design oriented and monocode in structure.
With the coding system as is, such production attributes as
materials, operations, proportions and size are not embodied
in the main code. This has made the system suspect for cod
ing and sorting of specific components and for planning of
production operations. An example of a part coded in the
BRISCH system is shown in Figure 6.
CODE 325312
300000 Sinp.le Piece Part 320000 Axial Component 325000 Axial Component Stc[)ped 325300 Single Through Hole 325310 Inside Diameter .5"<ID^. 5^" 325312 Outsid-e Diameter .8"<:0D^. 90"
Figure 6: Example of a Part Coded in the BRISCH System
36
Since the development of the main codes, production
oriented secondary codes have been added, and like the main
code, they are tailor-made to satisfy individual organiza-«
tional needs. Unlike the main code, however, the secondary
code is polycode in structure and is conducive to computer
storage and retrieval. The overall coding system is there
fore semi-polycode.
CODE System
The CODE system, developed by Jay Bergen and Associ
ates, a division of Manufacturing Data Systems Incorporated,
is a semi-polycode made up of 8 digits {6,11,31}. The first
six digits are the major divisions and classify parts by
shape. The digit designations are as follows:
1^^ Digit Major shape of manufactured part
2^^ Digit External shape features
3^^ Digit Internal shape features
4^^ Digit Holes
5^^ Digit Cuts
6 Digit Slots, flats, other machining operations
7^^ Digit Outside diameter
8^^ Digit Overall length
37
The first digit governs the rest of the digits 2 through 8,
which are polycode structured, hence the semi-polycode na
ture of the system. This makes the system easy to learn in
spite of the fact that it codes a sizeable amount of infor
mation. It does not contain production information like
workpiece material and tolerance, however, and is therefore
only design oriented. An example of a part coded in the
CODE system is shown in Figure 7.
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ; ^ ^ ^ ^ ^ ^ ^ < ^ ^ ^
^^^^:^^^s:^^^^^^S^^^:^\^^
< 2 .5" ^
CODE 11200043
Cylindrical Part Sinrle Outside Diameter Single Internal Through Hole
No Other Holes
Outside Diameter . 2 7" <;0D>^ . 44" Length 1.6"<L>$ 2.7"
Figure 7: Example of a Part Coded in the CODE System
38
MICLASS System
MICLASS, an acronym for Metal institute Classi f icat ion
is a semi-polycode structured coding and classification sys
tem. The number of digits may vary from 12 to 30, and the
system is both design and production oriented {56,57}. It
is also capable of handling some management functions, like
economic analysis. The first 12 digits of the system are
universal and are designated as follows:
1^^ Digit Main shape
2nd ^ 3rd Digits Shape elements
4^" Digit Position of shape elements
5^ St 6 Digits Main dimensions
7^^ Digit Ratio of dimensions
8^^ Digit Auxilliary dimensions
9^^ Digit Dimensional tolerance & rough
ness
10^^ Digit Form tolerance
11^^/12^^ Digits Material code
The other ^possible 18 digits are used for other workpiece
manufacturing information specific to a particular company.
Some of these may include lot size, setup time, machining
time and machine tools to be used.
39
One very unique attribute of the MICLASS system is that
it can be used conversationally. The user only needs to
supply the workpiece information interactively to a computer
that in turn generates the code number for the part. The
number of questions varies with the complexity of the part
to be coded, "the minimum is seven for a simple workpiece,
and the average is between ten and twenty" {56, p. 166}.
The complete coding system also includes a Computer-Aided
Process Planning (CAPP) capability and can be run in four
different languages: English, French, German and Dutch in
either the British or metric system. An example of a part
coded in the MICLASS system is shown in Figure 8.
CODE 1120 2231 XXXX
1120 2231 XX XX
X Material Type To ieranccs Di mens i ons Main Shape f\ Shape I.:lcmcnts
Figure 8: Example of a Part Coded in the MICLASS System
40
SAGT System
The Systematic Approach to Group Technology (SAGT)
classification system is an 18 digit alphanumeric coding
system for cylindrical work pieces {1}. The system is poly
code structured and is both design and production oriented.
The digits are designated as follows:
Digit 1 Longest diameter
Digit 2 L/D ratio
Digits 3,4,5,6 External shape
Digits 7,8 Internal shape
Digit 9 Holes (non central)
Digit 10 Gears and splines
Digit 11 Plane surface machining
Digits 12,13 Material shape and type
Digits 14, 15, 16 Finish and tolerance requirements
Digits 17,18 Production control information
The SAGT system is both extensive and detailed, and is con
ducive to design and production planning and control infor
mation retrieval. Two draw backs with the system, however,
are that it uses alphanumeric codes, and is rotational
workpiece specific. An example of a part coded in the SAGT
system is shown in Figure 9.
41
CODE 7H0000200003500068
7H 0000 2 0 0 0 0 3 5 0 0 0 6 8
I Lead Time 11-15 Days
Batch Size 101^150 Pieces
Not Defined
Surface Finish Not Indicated
— Originally Round & Wrought
— Low Carbon Alloy Steel
No Surface Machining
No Gears
No Other Holes
Not Stepped in 2 Directions
Through Bore
External Shape Elements
L/D Ratio 4.001 " 4 L/D 5.000"
Maximum Diameter 1.0281" D ^1.1593"
Figure 9: Example of a Part Coded in the SAGT System
42
Opitz System
The Opitz coding and classification system is a compre
hensive method of identifying and grouping similar workpiec-
es by means of symbols. Although originally developed for
workpieces, the methodology is general in nature and can be
adapted to structurally define machine tools {30,40,78}.
The system is of a semi-polycode structure and is made
up of nine digits {96,97,98}. The first five digits, called
the "Geometric (Form) Code" describes, as the name implies,
the geometric shapes and dimensions of the parts, and is
therefore design oriented. The last four digits are the
"Supplementary Codes" and further describe other information
about the workpiece not covered in the Form Code (see Appen
dix D). Although the system is more design than production
oriented, it is flexible and "can be further extended by a
series of secondary codes indicating the operation type and
sequence, thereby facilitating the rationilization of pro
duction methods" {40, p. 164}.
Figure 10 shows an example of a workpiece coded with
the Opitz system. In the Opitz system each digit's position
in the code number (001 004 690) represents a particular
characteristic of the part, while the digit itself
represents variations in the level of the characteristics.
43
liM ^ ^ ^
^
- «
^ ^ ^
T ,
^
^
2.0"
CODE 001 014 690
Figure 10: Example of a Part coded in the Opitz System
44
For the part of Figure 10 with the Opitz code number (001
004 690), the interpretation is as follows:
0 Rotational Component with L/D <= 0.5
0 No Shape Elements
1 Smooth Bore
0 No Surface Machining
1 No Auxilliary Holes or Gear Teeth
4 Diameter > 4.0 <= 6.5
6 Heat Treated Alloy Steel
9 Pre-Machined Component
0 No Coding Accuracy Specified
The methodology for this coding and classification system as
developed by Opitz follows this systematic approach:
1. Develop a system to classify parts with respect to
their descriptive characteristics.
2. Classify parts with this system.
3. Group parts with similar code numbers.
4. Group machines indicated in the process of these
parts.
Like the PFA, the PCA can also be represented in a ma
trix form, (Table 3). The parts to be coded are listed on
the vertical axis and their respective design and processir.c
45
features are listed on the horizontal axis. Each cell entry
represents a particular attribute of a given characteristic
on the horizontal axis, and the string of numbers on each
row represents the code number in the coding system.
TABLE 3
PCA Methodology in Matrix Form
DESIGN & PROCESSING FEATURES
m
R
1 0
n
46
Grouping Algorithms
In order that subsets of robots can be determined for a
given task, a grouping procedure was designed into the CARSP
system using file management procedures. The number of ro
bots admitted into a group can be controlled by the user.
If the number of constraints is large, fewer robots would be
admitted, and if small, more would be admitted into the
group. In the later case, the constraints can be tightened
to achieve the same effect as in the first case. This flex
ibility guarantees that, should there be no one-to-one match
in code numbers of the task and any robot, the analyst can
have access to the data on the robots that are most similar
to the "ideal" robot. The analyst, therefore, will have
the option of either redesigning his task to suit the best
available robot (i.e., relax the constraints), or decide not
to use a robot at all. A review of existing grouping al
gorithms now follows.
Some researchers have used the cell matrix approach for
grouping parts and machines in GT problems {21,72,82,107}.
The two most common techniques for forming production groups
are manual (or inspection methods) and computer methods.
The former is limited to small problems although Burbidge
{19} reported on a successful procedure for large problems.
King {72} and Carrie {21}, however, doubt this assertion and
47
respectively went on to say that "whilst intuitive manual
methods may be adequate for small problems, they become pro
gressively less manageable and very time consuming and prone
to error when applied to larger problems" {72, p. 215};
"Burbidges' assertion that manual sorting of the matrix is
suitable for problems with up to 2000 components is grossly
over-optimistic" {21, p. 406}. From the foregoing then, it
can be concluded that for flexibility on most practical
problems, computer grouping techniques should be used when
ever possible. This is the procedure reported by Carrie,
King, Rajagopalan and Batra {108}, and McAuley {82}. Carrie
{21} used Ross' {111} algorithm which was based on the sin
gle linkage cluster analysis method developed by Sneath, and
reported in Sokal and Sneath {123}. The method uses simi
larity coefficients between pairs of data of the grouping
problem.
Cluster Analysis
Cluster analysis has been used extensively in such dis
ciplines as plant taxonomy in botany, information storage
and retrieval, medical sciences, behavioral sciences and
several others. In recent years cluster analysis study has
been increasingly used in engineering sciences for pattern
.recognition and artificial intelligence studies {2}. In
48
Group Technology, cluster analysis has been utilized to form
groups of parts and machines of manufacturing systems by
some researchers {21,82}. By definition, cluster analysis
is the method of uncovering the fine underlining structure
of a given data set. A cluster is, therefore, a group of
this data set that are structurally similar or related.
Several types of clustering techniques have been discussed
in the literature {2,12,38,66,112}. There are four basic
classes of the clustering problem {112}; hieracial, non-hi-
erachial, statistical and non-statistical. The Hierachial
clustering method {38} has attracted the most attention, and
is often divided into agglomeritive and devisive methods.
In either case, clusters of the N problem data are formed
successively into finer partitions so that a tree-like
structure results. The Non-Hierachial clustering method
{2,66} is different from the the hierachial method in that
all levels of similarity are considered simultaneously and
group memberships altered to achieve a better partition
without a tree-like structure. In some clustering problems,
the values of the variables are not known and have to be
predicted through a known distribution of the system behav
ior. This type of problem is therefore highly Stat istical
{112}. On the other hand, the data to be grouped may be
known a priori and the clustering problem is said t:o be
49
Non-Statistical {112}. In the present study only the non-
statistical and non-hierachial type GT problems will be con
sidered. . This is because the processing capabilities of the
robots to be grouped are known with certainty, and reports
in the literature tend to indicate that machine groups have
little or no tree-like structures {21,72,107}.
Similarity Coefficient
Similarity coefficients are used extensively in cluster
analysis to summarize the relationship between pairwise com
bination of the entities of a given data set {21,27,108}.
Three types of similarity coefficients have been identified
in the literature; distance, correlation and association
{2,38,66,115,123}. The Distance type similarity coefficient
is used to measure the disperity between two points in a set
of data. In most cases this coefficient is defined as the
distance formula. In the Correlation Coefficlent type meas
ure of similarity, correlation prediction equations are used
to establish the mutual relationship between pairs of data
to be grouped. The last type of similarity coefficient is
Assoc iat ion. It measures the level of similarity between
pairs of a given data set using binary codes. Similarity
coefficient by association has been defined in several ways.
However, the definition that seems to have gained the most
50
acceptance is the ratio of the total "number of observed
matches to the total number of possible matches [21,112}.
Then,
Sij = — i — - 1 - 2.1
M(e^OB.)
where,
Sj j = The similarity coefficient between parts i and j
M = number of discrete variables in the data set
3i = Set of operations required on component i
3j = Set of operations required on component j
This was the definition suggested by Carrie [21} for the
component part grouping problem in Group Technology.
A similar definition was suggested earlier by McAuley
[82} for the machine grouping problem in Group Technology.
Similar definitions have also been used in several other
clustering problems. From the definition, it is readily
seen that Sj ^ will always have a value between 0 for maximum
dissimilarity, and 1 for maximum similarity. This is the
main difference between association type similarity
coefficient and distance type coefficient measures. Since
the later can take on any positive value, similarity
51
coefficient by association is preferred to the distance
measure coefficient for GT problems. This is also justified
by the fact distance coefficients tend to favor dissimilar
pairs of data more than similar pairs, since the coefficient
gets larger the further apart (dissimilar) the pairs of data
are.
In summary then, Sj_- has the following relationships.
1. 0 <= S^j <= 1
2. Sj_-: = 1 implies maximum similarity
3. S -; = 0 implies minimum similarity
4. Sj_-; = S-jj_ implies symmetric properties
Instead of similarity coefficient, the dissimilarity
coefficient is sometimes used in some cluster analysis
problems {66,115}. Dissimilarity and similarity are comple
mentary {123}. Thus if D^j. is the dissimilarity between two
parts i and j,
then,
Dij = 1 - Sij 2.2
and has the same properties as described for Sj_j above.
Dissimilarity coefficients are often used in studies of evo
lution {115}.
Rajagopalan and Batra's {108} approach is different
from Carrie's or McAuley's in that they used a
52
graph-theoretic method to design machine cells instead of
the 0-1 method. The authors defined similarity coefficient
as McAuley {82} and is expressed as:
X. . S = il 2.3
where,
Sj - = Similarity between machines i and j
X.. = Number of components using both machines i and j
X.. = Number of components using only machine i
X.. = Number of components using only machine j.
As in Carrie's definition of similarity, S-• in the' above
definition also lies between 0 and 1 for maximum dissimilar
ity and similarity respectively.
Once the similarity between the different pairs of ma
chines are calculated, machine groups are then formed. Mem
bership to a group is possible if and only if their similar
ity coefficients are greater than a threshold value T,
established by the analyst.
Bond Energy Method was developed by McCormick, et al.
{84} to represent similarity between pairs of data to be
grouped. The method is derived from the cell admissibility
principles and the authors theorize that this admissibility
creates a bond energy between the machine/part pairs. They
53
defined the bond energy as the product of the values of the
adjourning element pairs.
Another grouping method, called the Rank Order Cluster
ing Method (ROC) was developed by King {72} for the PFA
grouping problem. The basic principles of the method are to
read the machine component cell entries in binary word and mark them in order of descending binary value. The ranks of the cells are arranged and rearranged in order of descending rank for both the rows and the columns until an arrangement i+1 is the same as the arrangement i. At this point the arrangement is optimal {72}.
King reported that the ROC is advantageous to either
the single linkage or the bond energy clustering methods in
"its ability to deal with the problem of exceptional ele
ments and bottleneck machines" {72}.
Conclusions
It is clear from the literaure on robot selection that
most researchers have channeled their efforts toward solving
the robot-man and robot-man-automation evaluation problems.
For those who addressed the problem of evaluating alterna
tive robot models {15,93,138}, no interactive computerized
methodology was proposed. Although the Nof and Letchman
{93} RTM system is a very good model for robot selection, it
can be time consuming and expensive to a potential robot
user who does not already have the required facilities. The
54
use of actual robot models for the repetition of "robot
evaluation for alternative robot models" {93, p. 38} pre
cludes the use of this model in a practical sense.
The robot selection methodology as introduced in the
present study was designed to utilize the speed and memory
capacity of the computer to both minimize the search process
and the need to initially use physical robot systems. This
approach will not only save the engineer valuable time and
money but also reduce the need for using highly skilled en
gineers for the purpose of choosing a robot. The system
narrows the search spectrum to a point where further inves
tigation, if necessary, can be undertaken more successfully.
In reviewing the coding systems discussed in this
study, it was realized that most are design oriented, and
that very few address the production aspect of the grouping
entities. This oversight, whether by design or default,
makes these coding systems suspect as analytic tools that
they are supposed to be. In robotics for instance, such an
oversight will limit the use of the coding system to robot
users only. The robot manufacturer who probably needs the
coding system more is left with nothing to work with.
One of the reasons production attributes are not
included in some of these coding systems could be the fact
that production attributes are more varied than design
55
attributes. For instance, while cubic components can either
be milled or planed to shape through different process
routes, the final shape of the component remains cubic, how
ever.
Whether a coding system is design or production orient
ed or both depends on what it is desired to accomplish. De
sign oriented systems are better for design retrieval while
production oriented systems are better for manufacturing
process planning. Many researchers advocate combining the
two systems into a common coding scheme {1,97}. The MICLASS
and SAGT systems are of particular interest in this regard.
The robot coding system dicussed in the next chapter is
strictly design oriented as it is designed from the point of
view of the robot user rather than that of the manufacturer.
It does, however, contain more information than can be found
from mere examination of a robot's descriptive geometry.
Irrespective of the structure and attributes of a cod
ing system, Hyde {60} recommends that it:
1. Be all embracing and be able to classify all existing
items and accept future items as the need arises.
2. Be mutually exclusive and use clearly defined
parameters.
3. Classify only the permanent and logical parameters of
the item to be coded.
56
4. Be based on the point of view of the user and not the
code designer's.
These concepts were kept in mind while designing the robot
coding system (ROBOCODE).
CHAPTER III
ROBOT CODING AND CLASSIFICATION (ROBOCODE) SYSTEM
Introduction
Robots have certain structural characteristics which an
engineer can use to advantage to enhance the selection, pro
duction and planning problems of manufacturing. An indus
trial robot is made up three major distinct parts. These
are the arm, the controller and the power units.
The mechanical unit of an industrial robot, often
called the arm, is the "robot" as the layman sees it. It
consists of several linkages that have kinematic properties
in several axes. These axes are called the degrees of free
dom of the robot, and vary from two to as high as nine or
even more. Degrees of freedom will be discussed fully later
in this chapter. The shape of this mechanical unit is also
of interest and varies as the degrees of freedom.
The controller unit is the portion of the industrial
robot that determines its level of flexibility and adapt
ability. The unit varies from a simple mechanical logic
sequencer (stops, limit switches, etc) to electronic type
sequencers (computers). There are therefore, two distinct
classes of controllers. One is the non-servo controlled
57
58
unit, often called low technology controller unit, and the
other is the servo controller unit or the high technology
controller unit.
The power unit of the industrial robot can be electric,
hydraulic, pneumatic or any combinations of these depending
on the precision, speed and/or power to weight ratio de
sired.
In this chapter these structural characteristics will
be defined, and used to design a coding and classification
system for robots. There are several species of robots cur
rently available on the market with obviously different pro
duction methods. Thus, to classify a robot completely re
quires that the following technological areas be considered.
1. Basic shape of the robot.
2. Dimensions of the robot.
3. Types of control and power units.
4. Operational characteristics of the robot.
5. Materials used to manufacture the robot.
6. The number of each robot design to be manufactured
(lot size), and manufacturing lead times.
Point numbers 1, 2, 3, and 4 are design related while
the others are production related. For the purpose of this
study, only the design oriented aspects of robots will be
discussed. These design attributes can be further classi-
59
fied as static or dynamic {120}. Static attributes (1, 2,
and 3) are those like the mechanical, power and control
units which do not vary over time. The dynamic criterion is
the robot's operational charateristics (4), and include its
speed, load carrying capacity, sensory feedbacks, and reli
ability. The ROBOCODE is designed with these static and dy
namic criteria using the data obtained from robot drawings
and manufacturers' specifications. Like most other coding
and classification systems, "it is, in essence, a transla
tion of drawing and technical data into numerical form" {79,
p. 72}. The robot coding system'and the resulting computer-
aided robot selection procedure (CARSP) are intended as
tools and do not in any way attempt to displace the need for
prospective suppliers' experimental demonstrations. Al
though the coding system presented here is more design than
production oriented, the system can be expanded to include
production aspects in robotics.
Several factors have led to the omission of this pro
duction aspect from the code. Some of these are:
1. The manufacturing processes for robots are not as
well defined in the literature as are manufacturing
processes for standard workpieces.
2. The manufacturing processes for robots are not as
standardized as those for conventional workpieces.
60
For instance, most components may have to be ordered
from different vendors.
3. As a result of 1 & 2, far more experience than can be
used to design a classical production oriented coding
system for workpieces is needed.
4. The present study is robot user oriented, and the ro
bot manufacturer oriented (or production oriented)
aspects of the research will be completed in future
studies.
As was observed in the previous chapter, most coding
systems in the literature are restricted to component parts.
So far, no coding system has been developed for'robots, nor
for that matter is there a systematic interactive methodolo
gy for robot selection. The final goals of the robot coding
system introduced in this chapter are:
1. To provide a coding system for robots.
2. Provide a database system for an interactive method
ology for robot selection.
3. Minimize the time required for defining robot struc
tural configurations.
4. Provide a reference manual for robot systems.
In a later chapter the coding system presented here will be
used to code available robots in the market in order to es
tablish a database for the interactive software of the CARS?
61
system. The advantages of the ROBOCODE system are multi
fold. A few of these are:
1. It will facilitate the design of the proposed robot
selection methodology.
2. It will better enhance the storage and retrieval of
the information on robots.
3. It will minimize the amount of computer memory, and
is therefore efficient.
4. Groups of robots based on chosen characteristics can
be better formed by referencing their position in the
code structure.
The first digit of the ROBOCODE system is divided into
ten different categories according to class. Class is de
fined as the degree of sophistication or technological level
of the robot. The code system is comprised of 40 digits and
for each string of code numbers related attributes are fur
ther subgrouped to facilitate the storage and retrieval pro
cess, as shown in Figure 11.
Each robot attribute in the coding system can have a
value between 0 and 9. These number levels are weights and
are assigned as discussed on pages 85 and 86, and based on
the researcher's subjective evaluation of the competing
variables.
ROBOT CLASS
APPLICATIONS
PERFORMANCE
PHYSICAL
GENERAL
POWER RQMTS
ENVIRONMENT
1
12
22
32
37
13
23
33
38
14
24
34
39
15
25
35
40
7
16
26
36
8
17
27
18
28
10
19
29
11
20
30
21
31
Figure 11: Grouping of Digit Positions
62
"The choice of weights is not a matter of neat mechanical
devices; it is one of the principal means through which the
analyst can shape the analysis to his objectives" {2}. Some
researchers have questioned the validity of weighting
variables {38,123}; however, it is impossible for all the
63
variables that can be involved in any problem to be
accounted for in solving the problem. For those variables
not represented in the problem, their weights, for all prac
tical purposes are taken as zero compared with those that
are represented {38}.
1st Digit—Robot Class
It has been determined from robot literature that ro
bots can be classified according to their control systems
{4,132,139} .
The task of the control system is primarily to provide a logical sequence for the operating program. It provides the theoretical position values required to each program step, continuously measures the actual position during the movement, and processes the theoretical/actual difference, together with other measured values (travelling speeds) and stored data (e.g. theoretical speeds, dwell times) into actuating variables for the drives {139, p. 17}.
Two control systems have been identified, servo and non-ser
vo. The servo controlled robots have feedback capabilities
that make it possible to monitor their performance. Within
this servo robot species, further subdivisions into the type
of precision, motion and task complexities were made result
ing in the classes of robots shown in Table 4.
This first code number governs the rest of the code for
a given robot, and is monocode structured. Digit combina-
64
tions, for example 2 & 3, mean that a robot model is
available in both the servo continuous path and the servo
point-to-point.
TABLE 4
ROBOCODE - First position
ROBOT CLASS
0. Unspecified
1. Servo Precision
2. Servo Continuous Path
3. Servo Point-To-Point
4. Non-Servo Point-To-Point
5. 2 and 3 Available
6. 2 and 4 Available
7. 3 and 4 Available
8. RESERVED
9. OTHERS
65
Servo - Precision
This group of robots are those that have unique per
formance capabilities that can not be found in an ordinary
servo continuous type robots. In addition to having the ba
sic internal sensors characteristic of all servo controlled
robots, they also have external sensors that enable them to
monitor their environment. Depending on the external input
received at any time, they can make decisions on the next
sequence of steps to execute. Typical sensory inputs in
clude cameras for object tracking and identification, tac
tile sensing for positioning, etc. They include electronic
component type assembly robots and those that are used in
laser inspection operations. Due to the degree of precision
and intelligence required in such tasks, these robots have
high repeatability, positioning accuracy values and more so
phisticated sensory capabilities.
Servo - Continuous Path
Robots in this category are those that engage in high
level controlled smooth motions. They are mostly used for
manipulative purposes, and tools are attached to their
extremities for the purpose of accomplishing a task that
requires continuous type motion. Because of the continuous
nature of the motion, robots in this class generally have
66
more memory capacity and more degrees of freedom than can be
found in point to point type motions. Tasks that can be
performed by robots in this class include most finishing
(for example, spray painting), and machining operations (for
example, deburring, routing, etc.), and arc welding.
Servo - Point To Point
This class of robots is the least sophisticated of the
servo control models. In general, they require less memory
and control abilities than the two previous classes. As the
class name, point to point, implies these robots are mostly
used for tool and material transfer purposes without regard
to the points in between the starting and ending positions.
Robots in this class include those used for machine loading
and unloading operations. Examples are those used to man
punch presses, die casting machines, and CNC machines. Be
cause of the heavy materials they have to transport, servo
point to point robots usually have more payload capacity
than either the precision or the continuous path servo ro
bots.
One unique characteristic of the servo controlled
robots, apart from the fact that they are servo controlled
is that they usually have more degrees of freedom than
non-servo controlled robots. But for the point to point
67
class, they do in general have less load carrying capacity
than the non-servo models. However, load carrying capacity
is more a function of the drive system than it is of the
control system. As reported by Simons {121}, other features
peculiar to the servo controlled robot models are:
1. the various manipulator members can be commanded to stop anywhere within their limits of travel;
2. the velocity, acceleration and deccelera-tion of the members in the various axes can be controlled;
3. accuracy of operation can be varied by controlling the magnitude of the relevant error signals;
4. programming is achieved by human initiation of the signals to the servo valves as required, and then recording the output of the feedback devices into the controller memory;
5. smooth motions and high operational flexibility are possible;
6. multi-program operation is facilitated;
7. microprocessor- or minicomputer-based controllers allow the robot to select between alternative actions within a program {120, p. 41}.
68
Non-Servo Point To Point
This class of robots, often called limited sequence or
pick-and-place robots, have similar operational characteris
tics as the servo point-to-point above except that they are
not servo controlled. Their memory devices are often me
chanical in nature and are independently set for each axis
of the robot. They therefore involve the simplest of mo
tions and controllers. Robots in this class are generally
low cost and have better repeatability than any other class
of robots. They are mostly used in tasks where motions be
tween the starting and the ending points are not important.
This includes most material handling tasks such as palletiz
ing, and materials transfer and transport. They usually do
not have any sensory capabilities and are typical of the
earlier model robots. Special care must be taken in plan
ning the workplace for these types of robots as they can not
avoid obstacles which are not preprogrammed into their memo
ry. The path of motion of the manipulator in space is some
time erratic, otherwise it takes the shortest path between
two points. Simons {121} identified other features that
characterize this class of robots as follows:
1. the manipulator members move until end stops limit the travel, so there are usually only two positions for each axis to assume (in some cases there may be intermediate stops);
69
2. the sequencer allows many motions in a program, but only to the axis end points;
3. decceleration, as the end points are approached, may be provided by shock absorbers;
4. programming is achieved by setting up the desired sequence of moves and by adjusting the axis end stops;
5. the manipulator is usually small, so high operational speeds can often be achieved, with repeatability to within 0.25mm;
6. these robots are relatively low-cost, easy to operate and maintain and are highly reliable. At the same time they have limited flexibility in terms of programming and positioning capabilities {120, p. 40}.
2nd Dig it--Applications
Robotic applications spectrum have become increasingly
large in the last five to ten years. Unlike the traditional
pick-and-place type tasks, robots can now do such complex
tasks as inspection, assembly, welding, painting and machin
ing, just to name a few. Although certain types of opera
tions are commonly performed by a given robot class, these
operations are seldom exclusive to any robot class. Rather,
in some cases ability of one robot to perform a given task
is more a function of memory capacity and type. Execution
of any task by a robot will usually follow one of two types
of motions: point-to-point or continuous path. A third
70
classification may be the ability of a robot to execute the
above two types of motions simultaneously. Although contin
uous path motions are exclusive to servo precision or con-
tinuous path robots, servo point-to-point robots can be made
to approximate a continuous path motion if the memory capac
ity is relatively large. However, in view of the cumbrous
nature of such a venture, and the fact it is economically
unattractive, it is usually discouraged.
It is not practical to design a robot coding system in
which every task that can be performed by robots is repre
sented exclusively by one level of the coding system. Even
if it were, the dynamic nature of robot technology precludes
the longevity of such a system since more application av
enues could be developed. In view of this and for the pur
pose of the present study, robot applications have been
grouped into nine categories as shown in Table 5. The user
is therefore encouraged to categorize his task according to
Table 5.
It is debatable whether or not application is a perma
nent robot characteristic. As stated in Chapter 2, a coding
system should be mutually exclusive and based on permanent
characteristics. On one hand application is a permanent
charateristic because some robots are designed to do one
task and one task only. On the other hand it is not a per-
71
TABLE 5
ROBOCODE - Second Position
APPLICATIONS
0. Unspecified or OTHER
1. Assembly/Inspection/Self Learning
2. Arc Welding
3. Finishing Operations (e.g. Painting)
4. Machining Operations (e.g. Drilling)
5. Spot Welding
6. Machine Tool Load/Unload (e.g. CNC)
7. Die Type Machine Load/Unload
8. Material Handling
9. Operations 1-8
manent characteristic as robots can be readily adapted to
perform different tasks. Therein lies the problem. For the
purpose of this study, application is treated as a permanent
robot attribute. There is no violation in the rule stated
earlier in that application does not need to be stated as a
selection criterion when choosing robots described in the
database of this literature. Rather, the pertinen
72
variables needed to perform a task are declared and the
viable robots for the task chosen regardless of their code
values at code position 2. Some of the most common robot
applications are discussed subsequently.
Assembly
Assembly operations are high precision type tasks. Ro
bots for this type of task usually have high repeatability
and positioning accuracy values, for accurate positioning,
fastening and mating of components and/or parts. Although
robots are currently engaged in some forms of assembly oper
ations, such engagements are limited in scope, however, due
to the fact that such robots are usually quite expensive and
therefore seldom justifiable economically. In most cases
robot setups for assembly are in the form of pilot or exper
imental studies. Where robot assembly operations are of any
measurable scope, they are usually of a pick-and-insert va
riety. In such cases the succcess of the system is highly
dependent on the accuracy with which the parts are presented
to the robot. The parts feeders and orienters are usually
of high precision and places the parts as exactly as
possible in the same spot every time. More complex assembly
operations have necessitated the use of more complex sensing
devices like vision, tactile, and high level prograniming
73
languages. Research efforts in these areas are quite
commendable. One of such efforts has lead to the Unimate
Programmable Universal Machine for Assembly (PUMA). The
PUMA robot series incorporates a high level programming lan
guage called the VAL. Some of the uniqueness of this lan
guage are {36} :
1. It operates in real time.
2. Has editing capabilities.
3. Has built in diagnostics.
4. Has speed scaling.
5. Has line tracking capability.
Assembly operations usually involve a high degree of
component variability. This means therefore that the robot
system must be flexible in its gripper changing capability.
Alternatively, a universal gripper that can accommodate the
assembly component variety could be used. The advantage of
this approach is that it saves the time that would otherwise
be used for gripper changing. The approach also saves money
that would have been used for the purchase of different
grippers and gripper accessories. A majority of the compo
nents for assembly are usually within the 5 lb. weight
range. As reported by Engelberger {36}, about "90% of the
parts used in automobiles weigh less than 5 pounds" {p.
137} .
Of the robots in the literature quoting some form of
assembly capability, about 80% of them are of the jointed
arm design, and about 90% have five degrees of freedom or
more. Most assembly layouts are of the line type, where the
assembled units pass through multiple workstations for the
components to be inserted and mated. The parts are fed to
the robots through vibratory bowl feeders and magazines ar-
^ranged around it. Since most robot assembly setups are not
'yet quite advanced, human operators are some times used some
where on the line to perform those tasks too complex for the
robot, or are otherwise not economically justifiable using a
robot. The General Motors PUMA assembly line is an example
of such a setup.
Arc Welding & Finishing Operations
Arc Welding and Spray Painting operations basically in
volve the same types of motions, although arc welding in
volves more forces and requires more tracking capability
from the robot. Currently, welding operations constitute a
majority of robot application areas, about 48% {117}. Arc
welding is a much more complex operation, however, and the
robot must guide the welding tool as precisely as possible
along the arc seam. The robot's tracking ability is
therefore very important in arc welding tasks. Some of the
75
tracking devices used are in the form of sensors, software
and/or control systems. Welding operations are so involved
that no attempt will be made to present any sort of planning
procedure in this study. Most robots for arc welding jobs
have a minimum of 5 degrees of freedom.
Finishing operations include all aspects of spray
painting and application of adhesives, etc. Robots that are
specifically designed for these tasks are usually light
weight, slender and long. They usually have poor lifting
capacity since the tools they manipulate are part of the ro
bot .
Spot Welding
Spot welding is a very strenuous operation involving
tremendous amount of forces. The majority of robots cur
rently employed in welding operations are used for spot
welding as is especially true in the automotive industry.
Robots for spot welding operations are generally sturdy and
usually have hydraulic and/or pneumatic drive systems.
These types of drive systems are necessary for the type of
power to weight ratio and high gripping forces needed for
spot welding. Spot welding robots, therefore, have good
load carrying capacity and generally require larger work
envelop. The disadvantage of the hydraulic and pneumatic
76
drive systems is that the rigid connecting cables exert ex
tra forces on the robot.
3rd - 11th Digits--Performance Characteristics
The third and fourth positions of the robot coding sys
tem are related to the robot's intelligence. "Intelligence"
when used for robots and other machines is usually preceded
by the adjective "artificial" or noun "machine," to differ
entiate it from human intelligence. By definition, artifi
cial intelligence is the branch of computer science whose
primary concern is the programming of computers to carry out
tasks that would require intelligence if carried out by man.
The factors that are associated with robot intelligence
are numerous, and which of these factors to address is a
matter of need. Therefore establishing the need for a given
intelligence system is the prerequisite for applying it eco
nomically and successfully. Researchers in artificial in
telligence (AI) have not reached a concensus on what consti
tutes a good intelligent robot. Where the vision advocate
will argue in favor of vision, the tactile sensor advocate
will argue in favor of his pet project too. The net result
of this is that several AI options are available, but at
costs very few organizations can afford. Some robots there-
77
fore end up being too "intelligent" to be affordable to the
average user. Some researchers argue that potential robot
users are actually turned off by intelligent robots. Where
some users look on robots with awe, others think they con
stitute some kind of threat to them. Yet others believe
that at such high prices, robots with intelligence are the
prerogatives of the multibillion dollar industries. "Unfor
tunately, this approach has put off many potential users.
Amid the harsh realities of an unsophisticated plant, many
industrial engineers cannot imagine how they can use these
'high technology, gleaming, computer-controlled robots,' let
alone robots with vision" {101, p. 34}. A study by Harmon
{51} seems to confirm Ottinger's views. Harmon reported
that "management is reluctant to purchase more exotic ma
chines" in that some of the relatively simple ones are yet
to be fully utilized {51, p. 4}.
3rd Digit--Type of Sensors
The importance of AI in robots cannot be overempha
sized. However, the scope of such a technology is highly
debatable. For example, robot teaching methodologies are
forms of AI, and so also are its controller systems.
Without AI a servo controlled robot may not be able to get
feedback information about its environment. The technology
78
is available to manufacture a fairly high level intelligent
robot, but most of these robots are not yet economically
justifiable. Table 6 is the list of the types of sensors as
used in this study.
TABLE 6
ROBOCODE - Third Position
SENSORS
0. Unspecified
1. Visual Sensors
2. Tactile Sensors
3. Force/Torque Sensors
4. Range/Proximity Sensors
5. 1 & 2
6. 1 & 3
7. 1 Sc 4
8. 1, 2, 3 & 4
9. Others
79
Visual Sensors
The robot "sees" the features of a particular component
through the lens of a TV camera, and recognizes it as good
or bad. Good if it matches the component in its memory, and
bad otherwise. Vision is one of man's most valued sense,
and will play an important role in freeing the robot from
its dependence upon supporting equipment {68, p. 27}. Vi
sion is also used for tool changing purposes where varying
part geometry require different gripper design. Recognition
of a given part geometry may require the robot to use a par
ticular gripper design. For example, if a robot senses a
flat object like glass the tool changing mechanism could be
triggered to exchange the present gripper for a vacuum grip
per, or a mechanical gripper if small blocks for assembly
were sensed.
Tactile Sensors
"Tactile sensing refers to skin-like properties with
which areas of force-sensitive surfaces are capable of re
porting graded signals and parallel patterns of touching"
{51, p. 3}. They include microswitches and strain gauges.
80
Proximity Detection
Proximity detection is the ability of a robot to sense
the nearness of objects along its path of motion. This
ability can be aided by vision, sound or heat. This ability
is used to advantage in programming the robot operating
speeds. The robot is allowed to travel at as high a rate of
speed as possible between the starting position and a few
inches to the point where a task is to be performed. It
then slows down once the part to be worked on is detected
within a given tolerance limit.
Contact Sensors
Lack of contact sensing capability is usually a menace
in some robots, especially if no other form of sensing is
available. Contact sensing enables the robot to "feel" the
presence or abscence of any type of object even if the ob
ject were encountered before a destination point was
reached. Contact sensors are sometimes used in tandem with
visual or proximity sensing to enhance the robot sensing ca-
pabi1ity.
Force/Torque Sensors
Different objects have different properties and tex
tures that will necessitate special handling procedures.
81
Force and torque sensing are used in robots to achieve this.
For example, the robot can be programmed to use a force of 1
oz. to pick up an egg and 50 lbs. to pick up a finished met
al part. Force sensing is also necessary so the robot can
detect when it has lost its grip of an object regardless of
the texture (hard or limp) of the object. As shown in Table
6 a robot may incorporate more than one type of sensor, for
example, a force/torque sensor may be combined with a vision
sensor. The former may be used to detect that a part has
been lost from grip and the later used to search for it.
4th Digit—Diagnostics Capability
Sensing and diagnostics capabilities are very closely
related and in some cases, a very clear distinction may not
exist. In this study, diagnostics capability (Table 7) is
defined as the ability of a robot with sensing capability to
go beyond the basic "Yes" or "No" decision making process.
The question that can be asked of diagnostics in robots is
"what level of diagnostics is acceptable?" Robot diagnos
tics are usually logical program statements of the type:
IF <something happens> THEN <do this or that>, or
ON ERROR <do something else>.
82
Where "something happens," "do this or that," and "do
something else" are logical expressions. Of course, this is
under the premise that the robot can recognize these expres-
sions. It could be sight or touch or loss of such senses.
To minimize the time the robot spends trying to correct (di
agnose) the situation, such routines or loops should be kept
as short as possible. Even though computer speeds are fast,
letting the robot go into an infinite loop, or until it cor
rects the situation can be both counterproductive and ex
pensive. A discrete number of such self diagnostics should
be provided and other provisions made whereby the robot can
signal the operator if self-correction is unsuccessful. For
example, the robot drops a tool and starts searching for
it. This requires that the robot have some type of visual
and tactile sensors. These add to the cost of the robot.
It is much cheaper and faster for the robot to just realize
that the part is lost (tactile or force/torque sensing) and
go get another one, instead of searching the whole workarea
for it. However, if it loses two or three in a row or as
may be determined by the work place designer, it should sig
nal the operator for help or adjustment.
The keyword on robot intelligence is need. Use it if
it is absolutely necessary, and keep it as simple as possi
ble. Robot intelligence is usually found but not limited
83
TABLE 7
ROBOCODE - Fourth Position
DIAGNOSTICS
to the so called high technology robots. The addition
of "intelligent" equipment (e.g., camera) on robots means
that it has to rely on more component parts to operate.
This poses reliability and maintainability problems.
5th Digit--Repeatability
The repeatability of a robot is a measure of how well
the robot can reach a given position after a prolonged peri
od of operation. Some people often use positioning accuracy
interchangeably with repeatability. This should not be the
case since there is a distinct difference between the two.
Repeatability is expressed in thousandths of the unit of
measurement, usually the inch or millimeter. Being a
tolerance limit, it is expressed with both a negative and
84
positive sign. For example a repeatability of ±.002" means
that during the next cycle the robot can reach to a point at
least .002" either side of the reference point. If this
reference point were 12" in space, then 11.998" is the lower
limit, 12" the mean and 12.002" the upper limit.
Clearly the more zeros there are immediately after the
decimal point in a repeatability value, the more desirable
the value. In reviewing the repeatability of seventy (70)
robots, it was found that more than 50% of them have a re
peatability of ±.01" or better. Figure 12. It is therefore
important that 50% of the codes for this robot attribute be
allocated to these groups of robots (Table 8).
The criteria used for the assignment of digits within
each robot attribute describing ranges of values are given
below.
1. Natural Breaks: Natural breaks in the groups of ro
bots that fall within a range in the attribute under
consideration are used to partition the attributes
into its different levels. These robots are regarded
as belonging to the same family and are therefore as
signed a family code number.
2. Cluster Strength: If the number of clusters in (1)
is more than 9, two or more clusters are assigned the
same code level value if they are not too far apart
85
0.001 0.002 0.003 O.OOU 0.005 0.003 O.OiO 0,020 0.030 O.OWO 0.050
REfEflTflaiLJTT IN INDIES
CALL 7ALUSS AJiX BKD POINTS) (j.c ^00r, .oor'OiX='002 ETC.)
(.060 IS rOR K^.04O)
Figure 12: Distribution of Robot Repeatability
TABLE 8
ROBOCODE - Fifth Position
REPEATABILITY
86
4-
1 0.
1 1.
1 2.
1 3.
1 4.
1 5.
1 6.
1 7.
1 8.
1 9.
INCHES
Unspec
R < =
.001
.002
.004
.007
.010
.015
.025
R .>
.
<
<
<
<
<
<
<
.(
if ied
001
R < =
R < =
R < =
R < =
R < =
R < =
R < =
330
.002
.004
.007
.010
.015
.025
.030
0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
MILLIMETERS
Unspec
R <
.025
.050
.102
.178
.255
.380
.635
R
=
<
<
<
<
<
<
<
>
: ified
.025
R
R
R
R
R
R
R
< =
< =
< =
< =
< =
< =
< =
.760
.050
.102
.178
.255
.380
.635
.760
• \
in the range and fall within i3 standard deviation of
the lowest or highest values in the range. This cri
terion is maintained so long as the number of robots
within this range is not particularly large.
87
3. Attribute Value Frequency: If the number of robots
having a particular attribute value is relatively
high, a code number is reserved for this group of ro
bots, and the group is excluded from criterion 2.
This is in order to avoid the possibility of having
too many robots sharing one digit value while a digit
value is vacant or shared by one or two robots.
6th Digit--Positioning Accuracy
Positioning accuracy is measured very much like repeat
ability. It is therefore expressed as a range. This may be
the reason it is often confused with repeatability. The
difference between the two lies in the fact that positioning
accuracy may not be obtainable in some robots, while repeat
ability is always measurable in all robots. Accuracy is the
degree to which a robot can locate to a specific target
point. This measurement is meaningful only in those robots
where positioning information is determined from calculated
values. These robots are computer controlled and therefore
have calculative capabilities. Figure 13 shows that about
60% of the robots surveyed have a positioning accuracy of
± .01 or better. The breakdown of codes for positioning
accuracy as used in this study is shown in Table 9.
88
18 -
i« -:
••* -
>2 -
10
8 -
8 -
"4 -
2 -
^ %
V
0 0 1
0 a 2
0 0 3
0 0 4
0 0 5
0 0 6
0 0 7
0 0 s
0 0 9
0 2 0
0 3 0
0 11 0
0 s 0
/ ;
WXUMCT IH JNChES
'XU. rXLVSS XRX SNV FOmTS) 'i.e. B.OOI, .0Ot<A<=.002 XTC.)
(.069 IS ron 2>.040)
Figure 13: Distribution of PA
7th Digit--Load Range
The load capacity of a robot is the maximum load it can
carry at a normal operating speed including the weight of
the gripper. This range varies from as low as 1 lb. or less
for some instructional or high precision assembly robot
89
models to as high as 2000 lbs. or more for some gantry type
robots. Load or payload capacity is a very important meas
ure of performance for those robots that are used solely for
material handling operations. This is particularly true of
non-servo and servo point to point robot models. In small
TABLE 9
ROBOCODE - Sixth Position
POSITIONING ACCURACY
INCHES MILLIMETERS
0. Unspecified
1. PA <= .001
2. .001 < PA <= .002
3. .002 < PA <= .004
4. .004 < PA <= .007
5. .007 < PA <= .010
6. .010 < PA <= .015
7. .015 < PA <= .025
8. .025 < PA <= .030
9. PA > .030
0. Unspecified
1. PA <= .025
2. .025 < PA <= .050
3. .050 < PA <= .102
4. .102 < PA <= .178
5. .178 < PA <= .255
6. .255 < PA <= .380
7. .380 < PA <= .635
8. .635 < PA <= .760
9. PA > .760
90
parts assembly type robots, payload values are not usually
critical. The same is also true of robots used for most
types of finishing operations. The distribution of payload
for the robots surveyed and the breakdown of the codes for
this robot attribute are shown in Figure 14 and Table 10 re
spectively.
PERCLMT
22 A
20 -
18 -
16 -
m -
12 -
10 -
8 -
5 -
H -
2 -
/ .
10 20 30 140 SO 60
PflTLOPO IN POUNOS
70 80
(ALL 71LUIS ARI SND POINTS) (E.G. L<r10. 10<J.<:=2Q XTC.)
(101 IS ran lyioo)
90
F i g u r e 14: D i s t r i b u t i o n of Pay load
101
TABLE 10
ROBOCODE - Seventh Digit
PAYLOAD
91
0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
POUNDS
Unt
PL
10
20
35
60
100
200
300
speci f
<
<
<
<
<
<
<
<
PL > =
10
PL
PL
PL
PL
PL
PL
PL
900
ied
< =
< =
< =
< =
< =
< =
< =
20
35
60
100
200
300
900
0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
KILOGRAMS
Unspeci f
PL
5
9
15
27
45
90
136
PL
<:
<
<
<
<
<
<
<
>
= 5
PL
PL
PL
PL
PL
PL
PL
40£
'ied
<= 9
<= 15
<= 27
<= 45
<= 90
<= 136
<= 408
!
8th & 9th Digits--Velocities
Velocities are very difficult robot performance
parameters to measure because most manufacturers list them
without category. It is therefore difficult to ascertain
w hether it is the velocity the manipulator can attain
92
without any tooling attachments or that it can attain at
maximum load. For those robots that are custom made to per
form only such tasks as inspection, painting, welding and
assembly of small components, the specified velocity can be
taken as that for both minimum and maximum load. This is
because the tool forms part of the robot. For all others,
however, this will not be true and the user is encouraged to
talk to the robot manufacturer if this value is important in
making a final decision.
In robots with two or more degrees of freedom (except
for rectangular type robots which do not have angular mo
tions) motions are usually linear and angular. While the
linear velocities are measured in inches or millimeters per
second (in/s or m/s), angular velocities are measured in de
grees or radians per second (d/s or r/s). Where different
values are given for the arm sweep, wrist bend, yaw and/or
swivel, the arm sweep value has priority over the others.
Otherwise, the mean of the given values is taken as repre
sentative of the angular velocity if the arm sweep value is
unavailable. The reasons for this are:
1. The wrijst motions are so short that they will not
affect the decision in any way. The important point
here, however, should be whether or not the robot can
make the required moves rather than the speed at
which such moves can be made.
93
2. The arm sweep motion is more meaningful since it
covers a much larger travel space.
ROBOCODE values for linear and angular velocities are shown
respectively in Tables 11 and 12.
TABLE 11
ROBOCODE - Eighth Position
LINEAR VELOCITY
INCHES/SECOND MILLIMETERS/SECOND
0. Unspecified
1. LS <= 5
2. 5 < LS <= 10
3. 10 < LS <= 20
4. 20 < LS <= 30
5. 30 < LS <= 40
6. 40 < LS <= 50
7. 50 < LS <= 60
8. 60 < LS <= 70
9. LS > 70
0. Unspecified
1. LS <= 127
2. 127 < LS <= 254
3. 254 < LS <= 508
4. 508 < LS <= 762
5. 762 < LS <= 1016
6. 1016 < LS <= 1270
7. 1270 < LS <= 1524
8. 1524 < LS <= 1778
9. LS > 1778
94
TABLE 12
ROBOCODE - Ninth Position
ANGULAR VELOCITIES
DEGREES/SECOND
0. Unspecified or Undefined
1. AS <= 30
2. 30 < AS <= 50
3. 50 < AS <= 80
4. 80 < AS <= 110
5. 110 < AS <= 140
6. 140 < AS <= 170
7. 170 < AS <= 200
8. 200 < AS <= 300
9. AS > 300
10th Sc 11th Digits — Reliability
Reliability is defined in most statistic books as the
probability that an equipment will perform its intended
function without failure for a specified period of time. In
robots this value is usually high. Some robot users report
95
a reliability of 90% to 99% with 97% being the mode
{36,117}.
As can be expected, reliability experience is dependent
on the type of operation. In terms of numbers, manufactur
ers and users of robots alike have found that its mean time
between failure (MTBF) or uptime, and its mean time to re
pair (MTTR) or down time when breakdown occurs, are better
indicators of the robots reliability. The MTBF figure var
ies from as low as 200 hrs to more than lOOOhrs (Table 13).
While a high MTBF is desirable, high MTTR's are not accepta
ble. Therefore, a robot with a high MTBF .may not be attrac
tive if it has an equally high MTTR. As a rule of thumb,
the more complex a robot becomes, the less reliable it tends
to get {132, p. 9}. This follows from classical reliability
theory where the reliability R of the whole system is a com
bination of the reliabilities of each component.
In order to assure that high and acceptable MTBF values
are achieved, robot manufacturers will have to take extra
measures to ensure that every component going into the robot
final assembly meets a specified reliability level.
Self diagnostics in robots will help minimize the MTTR.
So would having an in-house maintenance crew who can be used
for most minor repairs without having to wait for the robot
manufacturer's crew to arrive. Probably the one aspect of
TABLE 13
ROBOCODE - Tenth Position
MEAN TIME BETWEEN FAILURE
96
0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
(IN HOURS)
Unspecified
MTBF
200 <
300 <
400 <
500 <
600 <
700 <
800 <
MTBF :
<= 200
MTBF <=
MTBF <=
MTBF <=
MTBF <=
MTBF <=
MTBF <=
MTBF <=
> 1000
300
400
500
600
700
800
1000
0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
(PERCENT)
Unspeci fied
MTBF
60
65
70
75
80
85
90
<
<
<
<
<
<
<
MTBF
<= 6C
MTBF
MTBF
MTBF
MTBF
MTBF
MTBF
MTBF
> 95
)
< =
< =
< =
< =
< =
< =
< =
65
70
75
80
85
90
95
robotics that can play a very important role in robot MTTR
and MTBF is design. Two robots with identical components
will not necessarily have identical MTTR function. For
example, if one had replaceable and easily accessible
components compared to the other, its MTTR would be shorter
97
than that of the other, even though their MTBF may be
identical. This is because the faulty components can be re
placed with a new one in a fraction of the time it would
take to repair it. The faulty component can then be taken
to the comfort of the facilities of the maintenance shop
where it can be repaired at an opportune time.
To improve on the robots MTBF, many robot users have
adapted some form of preventive maintenance policies. The
robot is serviced on weekends or holidays or any presche-
duled time before any major breakdown occurs. An MTTR of 2%
or 3% of the MTBF is a fairly reasonable value to shoot for.
For a robot with an MTBF of 400 hours this value will be
about 8 hours. This way the robot can be brought back into
production within a work day of its failure. Robot users
having a long line of robots have found that backup systems
improve on both the MTBF and MTTR, as the maintenance work
ers are much less pressured to bring up the equipment as
fast as possible. Using an MTBF of 400 hours as average,
MTTR values are calculated as a percentage varying from 1 to
12% (Table 14). This range is within that reported by most
researchers {36,117}.
TABLE 14
ROBOCODE - Eleventh Position
MEAN TIME TO REPAIR
98
1
1 0.
1 1.
1 2.
1 3.
1 4.
1 5.
1 6.
1 7.
1 8.
1 9.
(IN HOURS)
Unsp<
MTTR
8 -
12
16
20
24
28
36
5cified
<= 8
< MTTR <=
<
<
<
<
<
<
MTTR
MTTR <=
MTTR <=
MTTR <=
MTTR <=
MTTR <=
MTTR <=
> 40
12
16
20
24
28
36
40
0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
(PERCENT)
Unsp(
MTTR
Bcified
<= 5
5 < MTTR <= 10
10
15
20
25
30
35
<
<
<
<
<
<
MTTR
MTTR <= 15
MTTR <= 20
MTTR <= 2 5
MTTR <= 30
MTTR <= 3 5
MTTR <= 40
> 40
+
12th - 21st Digits—Physical Attributes
Digit positions 12 through 21 describe the robot's
physical characteristics. Of particular interest in this
group is the robot's work envelop. A majority of robots
are stationary, either floor, ceiling or wall mounted and
99
machines, conveyors and other equipment are arranged around
them. The components to be worked on therefore have to pass
by the robot. The extent to which this is possible will de
pend a great deal on the robot's reaching ability in all di
rections. If this capability is limited, then the amount of
machines and/or equipment that can be interfaced with the
robot will be too few and small to offer any meaningful ad-
vantange in using a robot. An average robot is able to com
pete effectively because of its ability to service multiple
machines simultaneously.
12th Digit—Coordinate System
Traditionally robots have been known to conform to one
of four basic geometric configurations: Rectangular, Cylin
drical, Spherical and Jointed-Arm. As demand for more flex
ible systems has grown, some other robot coordinate systems
have emerged. While some of these are usually combinations
of two or more of the basic coordinate systems (Table 15),
others are so completely different that no precise defini
tion exists for them. What the code for this feature will
try to accomplish is to classify the well known configura
tions while making provisions for future developments in
this area.
100
TABLE 15
ROBOCODE - Twelfth Position
COORDINATE SYSTEM
0. Unspecified
1. Rectangular
2. Cylindrical
3. Spherical
4. Jointed-Arm
5. 1 and 2
6. 2 and 4
7. 3 and 4
8. Other Combinations Above
9. OTHERS
The simplest of these coordinate systems is the rectan
gular or cartesian coordinate where all motions in each of
the three coordinate axis are translational. This configu
ration also allows for ease of control of the robot move
ments. It is limited in use, however, in that a fairly
large floor area is needed to attain a level of flexibility
near to that obtained by using other coordinate systems,
101
Figure 15. The other three coordinate systems incorporate
angular movements in one or more axes excluding those at the
wrist. Figure 15. The two major advantages of these designs
over the all translational model are in the ease of design
ing such mechanically simpler devices, and the fact that
they can generate a larger work envelop while utilizing a
minimum amount of floor space. Because of the multiple
joints in the jointed-arm design, for example, they are usu-
ally more difficult to control. It can be seen from Figure
16 that about 45% of all robots surveyed are of the jointed-
arm configuration. Another robot coordinate system that is
gaining in popularity is the jointed-arm-spherical coordi
nate combination. Some robots of this design have an arm
over-head swing of up to 300 degrees. The robot therefore
has two work areas, one on both the front and the back. The
Unimate PUMA series and the Bendix AA-160 are examples of
such robots.
13th Digit—Number of Axis
The number of axes in a robot usually indicates its de
gree of flexibility. This number varies from as low as two
for the simplest manipulator system to as high as nine or
more for the very complex models. Figure 17 (page 105)
clearly shows that 5 degrees of freedom is the most popular.
102
Although the number of axes can be as high as 9, this is not
standard, and are usually offered to the potential robot
user as an option (Table 16 page 106).
1) RECTANGULAR COORDINATE
" Z (.ELEVATION)
Y(REACH)
X(BASE TRAVEL)
2) CYLINDRICAL COORDINATE
Z(ELEVATION)
R(REACH)
9(BASE ROTATION)
• ^
Figure 15: Robot Coordinate Systems
103
3) SPIILRICAL COORDINATE
A(ELEVATION)
R(REACH) "
8(BASE ROTATION)
4) JOINTHD-AllM COORDINATE
^(ELEVATION)
9(RASE ROTATION)
Figure 15: Continued
104
P«C£NT
US -
no i
30 -:
25 -i
20 ^
15 -
10 -
S -
C J R
TTPE Of CaBRDJWTE STSTEh
A' mCTlNGXfUJL C: CYLINBRICLL S: SPSSRICIL. J: JOINTJD-ARM
y
Figure 16: Distribution of Robot Coordinate Systems
105
Robot reaching abilities are called the robot's degrees
of freedom or axes of movement. Figure 18 (page 107) shows
these movements in a model robot. Some robots may have more
or less freedom of movement. The first three of these mo
tions describe the arm and body movements and will be de
scribed subsequently.
PtRCENT
qo -
35 -,
30 -
25 -.
20 -i
IS -
10 -
S -
>>
^
14 5
NUH8W Of PXES
<*.
x<v<
(5 IS FOR UJS<~S) (7 IS FOR AJisye)
Figure 17: Distribution of Number .of Axis
106
TABLE 16
ROBOCODE - Thirteenth Position
NUMBER OF AXIS
0. OTHER
1. Unspecified
2. 2 AXES
3. 3 AXES
4.
5.
6.
7.
8.
9.
4
5
6
7
8
9
AXES
AXES
AXES
AXES
AXES
AXES
14th Digit—Horizontal Reach
Horizontal reach (Figure 19 page 108), for floor or
ceiling mounted robots, is measured from the vertical line
dividing the robot ' into a front and back portions (frontal
plane) to the maximum horizontal point that can be reached
by the robot's wrist. For wall mounted robots, horizontal
reach as defined here will be the absolute vertical reach of
107
the robot when floor mounted, for task description purposes.
Since robot manufacturers do not usually include end effec
tors as standard items, it is important that the user in de
fining or designing work envelops add enough allowance to
accommodate for the end effectors of interest. Figure 20,
(page 110) shows that about 50% of all robots surveyed have
a horizontal reach of 50" or better, and Table 17 (page 111)
shows a breakdown of the robot codes for this attribute.
ELBOW EXTENSION
SHOUL06« SWIVEL
F i g u r e 18 : Robot Movements
108
1) R1:CTAN(]ULAR COORDINATE
dJ
tl 11
-2J
I M • !
Lj-i ! ' ; 1 1 ' !
\\R >
2) SPHERICAL COORDINATE
K - HR
o«*^
R - >
Figure 19: Robot Horizontal Reach
109
3) JOINTED-ARM COORDINATE
T ii=^^==:^Sja nL
HR ^
Figure 19: Continued
110
30 HO 50 50 70
HORIZONTAL REPCH IN INCh£S
(ALL VALUES ARE END POINTS) (E.a.MB^10, 10<BR<p20 ETC.)
(101 IS FOR HRyiOO)
Figure 20: Distribution of Robot Horizontal Reach
TABLE 17
ROBOCODE - Fourteenth Position
HORIZONTAL REACH
11
INCHES MILIMETERS
0. Unspecified
1. HR <= 10
2. 10 < HR <= 20
3. 20 < HR <= 40
4. 40 < HR <= 50
5. 50 < HR <= 60
6. 60 < HR <= 80
7. 80 < HR <= 100
8. 100 < HR <= 150
9. HR > 150
0. Unspecified
1. HR <= 254
2. 254 < HR <= 508
3. 508 < HR <= 1016
4. 1016 < HR <= 1270
5. 1270 < HR <= 1524
6. 1524 < HR <= 2032
7. 2032 < HR <= 2540
8. 2540 < HR <= 3810
9. HR > 3810
15th Digit--Vertical Reach
For floor 6r ceiling mounted robots, the vertical reach
of the robot is the maximum vertical height, measured from
the base of the robot, that the arm can attain when fullv
extended. For a wall mounted robot, vertical reach is no
112
well defined since it is primarily a function of how high
the robot is mounted above the floor. However, the value of
the horizontal reach of the robot when mounted on the floor
could be used as the absolute vertical reach of the robot
when wall mounted. Figure 21 shows this value for some ro
bot models. Figure 22 shows that about 50% of all robots
have a vertical reach of 50" or better, and Table 18 (page
115) shows the breakdown of this robot attribute.
1) RECTANGULAR COORDINATE
I 1 . ^ K i ^
— ' 1 — 1 ••
• 1 •"
1 1
-r'-i
' ' 1 1 I I I
i i 1 1
' 1 LIE
1 1
1
±
Figure 21: Robot Vertical Reach
113
2) SPHERICAL COORDINATE
3) JOINTED-ARM COORDINATE
Figure 21: Continued
1 1 4
20 30 140 SO 60 70 50
VttTlCa. REPd IN INOCS
90 100 101
(ALL VALUSS ARE 3ND POINTS) (I,G»7n<^10, 10<y7t<^20 ETC.)
(tot IS FOR vn}ioo)
Figure 22: Distribution of Robot Vertical Reach
TABLE 18
ROBOCODE - Fifteenth Position
VERTICAL REACH
115
INCHES MILLIMETERS
0. Unspecified
1. VR <= 10
2. 10 < VR <= 30
3. 30 < VR <= 40
4. 40 < VR <= 60
5. 60 < VR <= 80
6. 80 < VR <= 90
7. 90 < VR <= 100
8. 100 < VR <= 150
9. VR > 150
0. Unspecified
1. VR <= 254
2. 254 < VR <= 762
3. 762 < VR <= 1016
4. 1016 < VR <= 1524
5. 1524 < VR <= 2032
6. 2032 < VR <= 2286
7. 2286 < VR <= 2540
8. 2540 < VR <= 3810
9. VR > 3810
16th Digit—Arm Sweep
Arm sweep measures the rotation of the cylindrical,
spherical or jointed-arm robot about ins base, or the
traversal of the rectangular robot about the x-axis. In the
former case this value is given in degrees, and in the later
116
case, in inches or millimeters. The values may be given as
a range, for example ± 120 degrees. For the purpose of this
study, these values will be given to cover the total angle
or distance that can be covered by the robot arm. In this
context then, 240 degrees and 40 inches will mean the same
as ±120 degrees and ±20 inches respectively. The reason for
this convention is because some robot arm sweeps are noi
symmetrical about the neutral or resting position. Figure
23 shows some robot arm sweeps, and Table 19 shows :he
breakdown of the codes for this robot attribute.
1) RECTANGULAR COORDINATE
nra
, . 1 T""
1
T__l„....^_J — - 4 - — - - - - - -
— - --
A
CO <
7
Figure 23: Robot Arm Sweeps
<
» — t
Q Qi O O U
< I
Q W
o
to
AS T3 0) D C
•H 4-1
O
u
w <
Q
O O CJ
< U
UJ X D-
rs j
m CM
(D
•H fa
118
TABLE 19
ROBOCODE - Sixteenth Position
ARM SWEEP
ANGULAR i LINEAR
DEGREES 1 INCHES 1 MILLIMETERS
0. Unspecified 1 0. Unspecified 10. Unspecified
1. AS <= 100 11. X <= 30 11. X <= 762
2. 100 < AS <= 1401 2. 30 < X <= 50 |2. 762 < X <= 1270
3. 140 < AS <= 1901 3. 50 < X <= 60 13. 1270 < X <= 1524
4. 190 < AS <= 2001 4. 60 < X <= 80 |4. 1524 < X <= 2032
5. 200 < AS <= 2501 5. 80 < X <= 90 15. 2032 < X <= 2286
6. 250 < AS <= 2701 6. 90 < X <= 10016. 2286 < X <= 2540
7. 270 < AS <= 3001 7. 100 < X <= 12017. 1540 < X <= 3048
8. 300 < AS <= 3601 8. 120 < X <= 18018. 3048 < X <= 4572
9. AS > 360 1 9. X > 180 19. X > 4572
119
17th - 19th Digits--Wrist Movements
The other three standard motions of a robot are within
its wrist. These movements are usually expressed in degrees
and are depicted in Figure 24. Some robots may exhibit more
or less than three wrist movements depending on the design.
The major robot wrist motions: the pitch, yaw and swivel,
are discussed next, and their code values are shown in Table
20.
1. Wrist Bend (Pitch) is the up and down movement of the
wrist about the axis of the arm.
2. Wrist Swivel (Roll) is the rotation of the wrist
about a plane perpendicular to the end of the arm.
3. Wrist Yaw is the rotational movement of the wrist
about a horizontal plane.
As can be expected, there is less freedom of movement at the
bend than either the swivel or the yaw, due to impedance
from the robot arm.
20th Digit--Robot Weight
Robot weights vary from a few pounds for some table top
educational models (for example, the Microbot Minimover
weighs about 8 lbs.) to well over 2 tons for some indus-
trial models (e.g., the Cincinnati Milacron T 566 weighs
about 5,000 lbs.).
120
Wrist bend
~G Radial Traverse
PITCH
ROLL Wrist yaw
Wnst swivel
Figure 24: Movements at the Wrist
121
TABLE 20
ROBOCODE - Seventeenth To Nineteenth Positions
WRIST MOVEMENTS (IN DEGREES)
SEVENTEENTH
POSITION BEND
EIGHTEENTH
POSITION SWIVEL
NINETEENTH
POSITION YAW
0. Unspecified/ Unattainable
1. B <= 100
2. 100 < B <= 150
3. 150 < B <= 180
4. 180 < B <= 200
5. 200 < B <= 210
6. 210 < B <= 240
7. 240 < B <= 250
8. 250 < B <= 350
9. B > 700
0. Unspecified/ Unattainable
1. S <= 100
2. 100 < S <= 200
3. 200 < S <= 250
4. 250 < S <= 270
5. 270 < S <= 300
6. 300 < S <= 350
7. 350 < S <= 400
8. 400 < S <= 700
9. S > 700
0. Unspecified/ Unattainable
1. Y <= 100
2. 100 < Y <= 200
3. 200 < Y <= 250
4. 250 < Y <= 270
5. 270 < Y <= 300
6. 300 < Y <= 350
7. 350 < Y <= 400
8. 400 < Y <= 700
9. Y > 7000
Although some manufacturers have tried to list both the ma
nipulator weight, and the weight of the control unit and the
power unit, some do not. It is therefore difficult to
TABLE 21
ROBOCODE - Twentieth Position
ROBOT WEIGHT
122
POUNDS KILOGRAMS
0. Unspecified
1.
2.
4.
9.
W <= 50
50 < W <= 200
3. 200 < W <= 400
400 < W <= 600
5. 600 < W <= 1000
6. 1000 < W <= 2000
7. 2000 < W <= 4000
8. 4000 < W <= 10000
W > 10000
0. Unspecified
1. W <= 23
2. 23 < W <= 91
3. 91 < W <= 181
4. 181 < W <= 272
5. 272 < W <= 454
6. 454 < W <= 907
7. 907 < W <= 1814
8. 1814 < W <= 4536
9. W > 4536
differentiate between those weights when only one value is
quoted (Table 21). Therefore, in order to keep this robot
coding scheme as tractable as possible, only one figure will
be used to code robot weights. Where figures are available
for both the robot and the peripheral units (power and
123
control units if different from the robot main design) the
weight is taken as their arithmetic sum. The user is there
fore encouraged to find out from the manufacturer whether or
not the figure quoted includes the peripheral units.
21st Digit--Floor Space Requirements
Robots vary in size and weight according to the type of
task they are designed to perform. Generally, the heavier
robot models tend to require more space area than the light
er models. Even within robots of the same weight class,
variations do exist in space area requirements. Two of the
major factors that determine this requirement are: drive
train and design. There are four major types of robot drive
trains as discussed on page 131. Hydraulic drive trains
tend to be more bulky than, for example, pneumatic drive
trains. Electrical drive trains are the least bulky.
In some robots the controller system and the power unit
are housed within the robot, while in others these may be
designed as three, or two different entities (one unit plus
a combination of the other two). It is not clear in the
literature which of these three conventions was used in
describing some robots. Therefore, the code levels for
space requirements was designed as the total sum of the
space requirement for the robot 1) mechanical unit, 2)
TABLE 2 2
ROBOCODE - Twenty First Position
ROBOT SPACE REQUIREMENTS
124
0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQ. FEET
Unspecif
SR
5
10
20
30
40
50
60
SR
<
<
<
<
<
<
<
>
< =
SR
SR
SR
SR
SR
SR
SR
70
5
< =
< =
< =
< =
< =
< =
< =
ied
10
20
30
40
50
60
70
0.
1.
2.
3.
4.
5.
6.
7.
8.
. 9.
SQ. METERS
Unspeci f ied
SR < =
18.3
36.6
73.2
109.7
146.3
182.8
219.5
SR
<
<
<
<
<
<
<
>
18.3
SR < =
SR < =
SR < =
SR < =
SR < =
SR < =
SR < =
256.0
36.6
73.2
109.7
146.3
182.8
219.5
256.0
control unit, and 3) power unit (Table here.). If this
robot attribute (floor space requirement) is critical in the
selection process, it is suggested that the user verify with
the robot manufacturer, what is covered in the data supplied
in his literature for this attribute.
125
22nd - 31st Digits--General Characteristics
22nd Digit--Memory Type
There are four basic types of robot memory: mechanical,
semi conductor, electrical and air logic (table 23). The
mechanical type includes disc cams and punched tapes. These
are typical of the early robot models. In later model robot
designs, mechanical type memories are giving way to semi
conductor or core type memory devices. One disadvantage of
semi conductor or mechanical type memory is that its content
is usually lost in case of a power loss. Robots with these
types of design, therefore, have provisions for bridging
power losses through the use of external batteries. If the
memory content is required for a very long period of time,
an external storage device in the form of magnetic tapes is
provided, and used to save the program. When needed the
program is simply played back into the memory.
In the servo precision and continuous type robots,
where more memory capacity (discussed in the next section)
is needed to accommodate the sequence of points that make up
the continuous motion, more sophisticated memory devices are
used, for example, electronic type memories. These include
such microprocessor type devices as RAM, ROM and EPROM,
magnetic tape cassettes and floppy discs. Other memory
126
TABLE 2 3
ROBOCODE - Twenty Second Position
MEMORY TYPE
0. Unspecified
1. Mechanical
2. Semi Conductor
3. Air Logic
4. Electrical Patch Boards
5. Electronic (Tapes)
6. Microprocessor(RAM,ROM)
7. 4 and 5
8. 5 and 6
9. Other
devices include electrical memories such as patch boards.
Some times memory devices are used in tandem. For instance
a magnetic disc may be used in conjunction with an electri
cal type memory.
127
23rd Digit--Memory Capacity
Memory capacity 'can be used as a measure of the com
plexity of the type of motion the robot can undergo, and/or
the amount of information the robot's computer is capable of
storing. The higher this value, the more complex the motion
and the more the number of information. Like the numerical
control machine, robot motions are usually a series of point
to point movements. However, these movements can be taken
at infinitesimal increments to approximate continuous
curves.
Memory capacity may be expressed in one of four ways
depending on the type of memory used in the robot and the
type of motion it can generate (Table 24).
1. The number of program steps are used mostly to ex
press the memory capacity of a point to point type
robot, or a continuous type robot that strictly uses
point to point motion to approximate a continuous
path motion.
2. The kilobytes of RAM available for programming the
robot are used mostly for microprocessor type memo
ries. These types of memories come in 4, 8, 16 or
more bit microprocessors. The majority of these
processors are expandable and can be exclusively used
for robot programming, or can be used as a central
TABLE 24
ROBOCODE - Twenty Third Position
MEMORY CAPACITY
128
#
0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
Program St
Unspecifi
MC < =
250
300
450
600
800
1000
2000
MC
<
<
<
<
<
<
<
>
25C
MC
MC
MC
MC
MC
MC
MC
eps
ed
< =
< =
< =
< =
< =
< =
< =
2500
300
450
600
800
1000
2000
2500
0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
# Kilobytes
Unspeci f ied
MC <= 5
5 < MC <= 16
16 <
32 <
48 <
64 <
80 <
128 <
MC >
MC <= 32
MC <= 48
MC <= 64
MC <= 8 0
MC <= 128
MC <= 256
256
Table 24: Continued
MEMORY CAPACITY
129
#
0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
Main ]
Unsp<
MC
5
10
20
50
100
200
500
MC
<:
<
<
<
<
<
<
<
>
Programs
reified
= 5
MC < =
MC < =
MC < =
MC < =
MC < =
MC < =
MC < =
1000
10
20
50
100
200
500
1000
0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
«
Max Program Cycle (SECONDS)
Unspeci f i
MC < =
200 <
300 <
500 <
600 <
800 <
1000 <
3000 <
MC >
20C
MC
MC
MC
MC
MC
MC
MC
.ed
)
< =
< =
< =
< =
< =
< =
< =
6000
300
500
600
800
1000
3000
6000
processing unit for other programming functions in
the manufacturing shop.
3 The number of main and subprograms that can be stored
and accessed simultanoeusly by the robot is also used
for describing memory capacity. This measure is not
straight forward, however, and can be deceiving at
times. For example, a 2000 line main program and a
130
500 line subprogram will require more storage space
than a 1000 line main program and a 100 line subpro
gram if in both cases the programs were run simulta-
nously. But by this definition the programs have the
same capacity of 2. Since the length of a program
is not really a true measure of memory usage (the
program logic can be quite complex in one and not the
other) this approach is suspect for memory capacity
def inition.
4. The maximum program cycle time is another measure of
memory capacity. This is a more meaningful measure
than the number of main programs. This is because if
the program logic of one set of programs is more com
plex than that of another, then even if they both
have the same number of lines, the more complex pro
gram will take longer time to execute.
The digit for this robot attribute has been subdivided to
include these variations, Table 24.
24th Digit--Number of I/O Channels
The number of input and output channels in a robot is
the number of direct addressable logic lines in and out of
the robot. For example, if a robot had eight input chan
nels, and eight output channels, it means that the robot can
131
receive eight simultaneous signals from the outside world,
and give out the same number of signals to the outside
world. The number of input and ouput signals are exclusive
of the computer controlled robots, where the number actually
represents the word length of the robot computer. This
number can be as low as four and as high as desired. In
practice, however, the maximum is 16. Although thirty two
bit computers exist, such word length systems were found to
be uncommon for robots at the time of this writing. Table
25 shows a breakdown of the number of input and output chan
nels as used in the current literature.
25th Digit—Drive Train
Three basic types of robot drive trains have been iden
tified in the literature: hydraulic, pneumatic and electri
cal (Table 26). These are basically mechanisms used to con
vert one form of energy to another. The end result is
motion and power in the robot's mechanical arm that can be
used to perform some useful work.
Hydraulic Drives have higher power to weight ratio than
either the pneumatic or electric drives, and are mostly used
in robots where large gripping and lifting forces are
desirable. Especially as is required for the transportion
of large and heavy loads. Hydraulic drives are also gen-
132
erally faster, less precise and can be servo or non-servo
controlled.
Pneumatic Drives make up a majority of robot drive sys
tems. This could be due to their low cost and handling ease
nature. For example, compared to hydraulic drives, there
are limited number of heavy hoses and oil spills to contend
TABLE 2 5
ROBOCODE - Twenty Fourth Position
NUMBER OF I/O CHANNELS
0. Unspecified
1. I/O <= 4
2. 4 < I/O <= 8
3. 8 < I/O <= 16
4. 16 < I/O <= 22
5. 22 < I/O <= 32
6. 32 < I/O <= 48
7. 48 < I/O <= 64
8. 64 < I/O <= 128
9. I/O > 128
133
TABLE 26
ROBOCODE - Twenty Fifth Position
DRIVE TRAIN
0. Unspecified
1. Electrical Drive Motors
2. Hydraulic Drives
3. Pneumatic Drives
4. 1 & 2
5. 1 & 3
6. 2 & 3
7. 2, .3 Sc 5
8. RESERVED
9. RESERVED
with. They can also generate considerable degree of grip
ping force, although not as high as the hydraulic system.
Electrical Drives are mainly in the form of electric
stepper motors and direct current servo motors. Robots
driven electrically are generally slower than, and not as
strong as those driven by a hydraulic or pneumatic system.
They are, however, more precise and require less amount of
134
floor space. Electric power is quite expensive, but cleaner
than either of the above power systems.
26th Digit—Program Method
There are three basic methods of addressing the memory
of a robot. This could be by manual method, leadthrough or
walkthrough methods (Table 27). Whichever programming meth
od (teaching method) that is used will depend in large meas
ure on the type of memory device used in the robot.
Manual programming methods are mostly used for pro
gramming robots with mechanical, pneumatic and electrical
type memories. The teaching entails setting of switches,
arranging wires, connecting air logic tubings, and so on.
Generally, robots with this type of programming method have
a limited number of degrees of freedom, usually in the order
of from 2 to 4. Their memory capacity is also limited be
cause of the time and amount of connecting wires and tubes
needed to program the desired number of steps.
Leadthrough methods are used in more sophisticated ro
bots with electronic (magnetic tapes and discs) and micro
processor type memories. Using a control console or push
button, the programmer leads the robot through the sequence
of motions required to go from one point to another. Using
the "record" button at each point, the programjner addresses
135
the robot's memory to record these movements for the robot
to repeat on command at a later time. Leadthrough can also
be used to define continuous path motions by defining sever
al intermediate points between the two end points.
TABLE 27
ROBOCODE - Twenty Sixth Position
PROGRAMMING METHOD
0. Unspecified
1. Manual Method
2. Leadthrough Method
3. Walkthrough Method
4. Teaching Pendant
5. CRT/Keyboard
6. Remote
7. 2, 3, 4, 5, 6 or 7
8. RESERVED
9. RESERVED
136
Walkthrough programming method is very much the same as
leadthrough only in as much as they both apply to robots
with the same type of memory devices. Their main difference
is that the walkthrough method defines mostly continuous
path motions. The robot is physically guided through the
sequence of motions it is desired to undergo. This type of
teach method is used to program robots for such tasks as
spray painting and arc welding.
27th Digit--Effectors
End effectors are anything that can be attached to the
end of a robot arm for the performance of a specific task.
They are therefore tools, and can be classified according to
the type of task they are designed to perform (Table 28).
For materials handling and manipulative purposes, they are
called grippers, and are usually mechanical in nature. In
order to minimize the problem of changing mechanical grip
pers frequently when handling parts of different shapes and
sizes, attraction type grippers are some times used. This
may be in the form of electromagnets for ferrous materials
or vacuum cups for non-ferrous or delicate materials, for
example, flat glasses. On occassion end effectors are
specifically designed for one form of manufacturing
operation or another. For some special purpose robots, that
137
TABLE 28
ROBOCODE - Twenty Seventh Position
EFFECTORS
0. Unspecified/OTHER
1. Mechanical
2. Magnetic
3. Vacuum
4. Welding Gun (ARC) Spray Gun
5. Welding Gun (SPOT)
6. Pneumatic: Nut runners.
Drills, Wrenches
7. Routers, Sanders, Grinders
8. Tool Changing
9. Universal Gripper
is those that are adapted to performing only one function,
the end effector may be permanently fixed on the robot arm.
For example, a high volume arc welding robot may have its
arc welding gun permanently fastened to its wrist. In most
manufacturing operations, multiple operations may be
performed on the same part with different tools. For an
138
industrial robot to be able to adapt to this situation, it
is usually equipped with tool changing capabilities. The
tool changing operation is programmed into the operating cy
cle of the robot. In some highly "intelligent" robots,
tool wear or breakage detection is possible and the robot
can, on input from the tool, change the tool as well, or
signal the operator.
28th Digit--Multiple Grippers
The use of multiple grippers in one robotic arm is be
coming common practice in robotic designs. The advantage of
this capability is obvious - more tasks can be executed in
the same space of time. This is particularly useful in ro
botic assembly operations. For example, one gripper could
be used to hold a screw, and the other the screw driver. In
so doing, two operations are performed in one step, thereby
saving time, actual travel distance and storage space for
additional grippers. The number of grippers in a robot var
ies from the standard one arm concept to two or even higher
in some cases. The number is a function of the type and
complexity of the task to be performed by the robot.
It is important to define "multiple grippers" as used
in this study. The robot in Figure 25 can be classified as
having double (multiple) grippers even though the two
139
grippers are attached to the same arm. Obviously, the robot
in Figure 26 can also be classified as having double (multi
ple) grippers. This robot, however, is not classified as
having eight grippers even though it can pick up the eight
bottles at the same time. In this study, therefore, a robot
is said to have multiple grippers if any gripper can be in
dependently manipulated without disturbing the grip force in
the other grippers. Therefore, in Figure 26 even though
four bottles can be picked up at the same time in one arm,
the task is done with a single command of the robot arm.
The advantage of this design is noted and can not be overem
phasized. However, it does not meet the gripper criterion
as defined in this study, to be classified as having more
than two grippers. The breakdown of codes for number of
grippers as used in this study are shown in Table 29.
29th Digit—Safety Features
One of the major factors that led to the development of
industrial robots is safety engineering. This is evident by
the successful application of robots in the foundry indus
try. One might say that safety innovated robotics is aided
by the economics in applying it, because in recent years the
main point of emphasis for robotic applications is econom-
140
Figure 25: Independently Controlled Multiple Grippers [36}
141
V3
0)
a • r-l
a
o
C o u
c/J
o a; c
a o • — « I — (
C/3 v-w
0)
• .-(
142
TABLE 29
ROBOCODE - Twenty Eight Position
NUMBER OF GRIPPERS
0. Unspecified
1. One Gripper Only
2. Up to 2 Grippers Possible
3. Up to 3 Grippers Possible
4. Up to 4 Grippers Possible
5. Up to 5 Grippers Possible
6. 6 or more Grippers Possible
ics. This may be in the form of improved product quality,
increased productivity, reduction in direct labor costs or
even safety-- savings in insurance and safety equipment for
employees. The major types of safety features used in ro
bots, and their codes are shown in Table 30. Safety is a
very important and interesting point to be addressed in ro
botics in that robots can be taught to anticipate "unfore
seen" circumstances within its work envelop. In spite of
recent advancements and proliferation in the use of robots,
there has been little or no established Occupational Safety
143
and Health Administration (OSHA) guidelines for their use.
Although robots are not specifically mentioned, there are,
however, some OSHA guidelines that could be applied to ro
bots and their working environment. These guidelines are
the jobs, machines, and working condition codes listed under
subparts G, I, 0 and P of the Act. Specifically, these are:
TABLE 30
ROBOCODE - Twenty Ninth Position
SAFETY FEATURES
0. Unspecified
1. Emmergency Stops
2. Hydraulic Brakes
3. Limit Switches
4. Light Curtains
5. 1, 2 , Sc 3
6. 3, 4 Sc 6
7. RESERVED
8. RESERVED
9. RESERVED
144
1. Occupational Health and Environmental controls,
2. Personal Protective Equipments,
3. Machinery and Machine Guarding, and
4. Hand and Portable Tools and other Hand-Held Equip
ments.
Robot users should realize that robots are highly visi
ble equipment that are also controversial, and should take
all necessary precautions when using them. The areas of op
eration for the robot should be clearly marked and guarded
at all times. The employees and people who might come in
contact with the robot must be properly educated on how to
use it, and extra effort made to defuse the mystique and in
hibitions they may have about robots. Adherence to these
safety practices will make the built-in safety functions of
the robot even more efficient. Some of these functions are
shown in Table 30.
30th Digit--Mounting Position
While some robots can adapt to most mounting positions,
some are limited to only one or two. The major mounting po
sitions are floor, ceiling or side walls (Table 31).
Ceiling mounted robots may be stationary or mobile in the
form of gantry trollies. The advantage of ceiling mounting
is that it keeps the floor free so that more room is
145
provided for other equipment and material interfacing. As a
gantry, the robot has more working envelop than floor or
wall mounted robots.
TABLE 31
ROBOCODE - Thirtieth Position
MOUNTING POSITIONS
0. Unspecified
1. Floor (Fixed)
2. Floor (Chain/Belt Driven)
3. Wall
4. Ceiling (Fixed)
5. Ceiling (Gantry)
6. 1 Sc 4
7. 2 Sc 3
8. 1, 3 Sc 4
9. OTHER
146
31st Digit--Price Range
Robots vary in costs from a little under $2,000 to well
over $650,000. The cost depends to a great extent on the
types of tasks the robot can be adapted to perform, the per
formance characteristics and the number of peripherals need
ed to perform these tasks, etc. ROBOCODE values for robot
costs are shown in Table 32.
32nd - 36th Digits—Power Requirements
32nd Digit—Energy Consumption
In evaluating alternative robot models, engineers had
focused their attention mainly on cost. However, these
costs had been mostly those due to capital investments, and
little or no attention had been paid to costs due to energy.
In these times of high energy costs, engineers can no longer
afford to ignore energy consumption costs.
Most robot manufacturers do not include this pariticu-
lar attribute in their specification sheets. Most do, how
ever, furnish the information on request. The user who
finds this robot attribute important may want to consult the
particular robot manufacturer for more information.
ROBOCODE values for energy consumption are shown in Table
33.
147
TABLE 3 2
ROBOCODE - Thirty First Position
PRICE RANGE
IN (000) DOLLARS
0. Unspec i f ied
1. P <= 5
2. 5 < P <20
3. 20 < P <= 30
4. 30 < P <= 50
5. 50 < P <= 60
6. 60 < P <= 80
7. 80 < P <= 100
8. 100 < P <= 200
9. P > 200
TABLE 3 3
ROBOCODE - Thirty Second Position
ENERGY CONSUMPTION
148
KvA (KW) KW HRS
0. Unspecified
1. P <= 1
2. 1 < P <= 2
3. 2 < P <= 2.5
4. 2.5 < P <= 3
5. 3 < P <= 4
6. 4 < P <= 5
7. 5 < P <= 10
8. 10 < P <= 20
9. P > 20
0. Unspecified
1. P <= 2000
2. 2000 < P <= 4000
3. 4000 < P <= 5000
4. 5000 < P <= 6000
5. 6000 < P <= 8000
6. 8000 < P <= 10000
7. 10000 < P <= 20000
8. 20000 < P <= 40000
9. P > 40000
1 Based on 8 hrs/day, 250 days/year, 100% duty cycle.
149
33rd - 36th Digits—Electric Power
Requirements
Electric power requirements for industrial robots are
usually described with four variables: voltage, current,
phase and frequency. The voltage of the power is the elec
tromotive force measured in volts that drives the electric
current measured in amperes that is needed to run the robot.
For alternating current, it is sometime necessary to know
how often the current is changing its direction and at what
phase it is operating. The frequency is usually measured in
cycles per second or the Hertz. In the US, the standard
voltage is 110 volts alternating current (110 VAC) at 50 cy
cles per second and phase 1. Most robots operate at a much
higher voltage but are usually available in several voltage,
frequency and phase models. Alternatively, the input volt
age can be stepped up or down to meet a particular robots
requirement. The various electric power requirements and
their codes are shown in Tables 34 to 37.
^ n
TABLE 3 4
ROBOCODE - Thirty Third Position
OPERATING VOLTAGE
0. 1 Unspecified 1
1. 1 1 VDC <= 12 1 1 VOLTS 1 1
1 DC 1 1 2.1 1 VDC > 12 1
3. 1 1 VAC <= 110 1
4 . 1 V 1 110 < VAC <= 120 1
5 . 1 0 1 120 < VAC <= 230 1
1 A 1 1 6. 1 L 1 230 < VAC <= 380 1
1 C 1 1
7. 1 T 1 380 < VAC <= 460 1
8. 1 S 1 460 < VAC <= 500 1
9. 1 1 VAC > 500 1
151
TABLE 35
ROBOCODE - Thirty Fourth Position
VOLTAGE PHASE
0. Unspecified
1. 1
2. 2
3. 3
4. OTHER
TABLE 3 6
ROBOCODE - Thirty Fifth Position
VOLTAGE FREQUENCY
0. Unspecified
1. 50 Hertz
2. 60 Hertz
3. OTHER
152
TABLE 37
ROBOCODE - Thirty Sixth Position
CURRENT REQUIREMENTS
(AMPERES)
0. Unspecified
1. A <= 5
2. 5 < A <= 10
3. 10 < A <= 15
4. 15 < A <= 20
5. 20 < A <= 25
6. 25< A <= 30
7. 30 < A <= 40
8. 40 < A <= 50
9. A > 50
153
37th - 40th Digits--Operating Environmental Conditions
Robot operating environment is that of the traditional
blue-collar worker. Earlier robotic applications, being"
concentrated in the die cast or foundry industry required
that robots be tough enough to withstand the harsh environ
ment of heat, dust, molten metals, etc. As robotic applica
tions varied over the years, this special requirement of
toughness was relaxed and included only as an option. Some
of these features are the robot's ability to withstand very
low temperatures as required of robots used in cold room
type operation and the ability to withstand high tempera
tures as required of robots for foundry type operations.
Tables 38 to 41 show the codes for the robot operating envi
ronments used in this literature.
Humidity is a measure of the amount of moisture in the
atmosphere. A robot that was designed without consideration
to this factor may not fair very well in a relatively humid
environment as the circuits may tend to short out. Knowing
that these limitations exist in some robots will help the
potential robot user guard against unnecessary expenses. In
a paint shop, for example, a robot that relies heavily on
its sense of vision to perform the task will be at a
complete disadvantage, because in time the lens of the
154
camera will tend to smear from spray paint deposits. When
this happens, the robot user usually ends up bearing the
cost for either loss of productivity or maintenance.
TABLE 38
ROBOCODE - Thirty Seventh Position
RECOMMENDED OPERATING MIN TEMPERATURES
DEGREES FEREINHEIT
0. Unspecified
1. MT<=32
2. 32<MT<=40
3. 40<MT<=50
4. 50<MT<=60
5. MT>60
DEGREES CENTIGRADE
0.
1.
2.
3.
4.
5.
Unspecif ied
MT< = 0
0<MT<=5
5<MT<=10
10<MT<=15
MT > 15
OSHA regulations on air contaminants, nuclear radiation
and other forms of adverse emvironments are very explicit,
and have meant added overhead costs for manufacturers.- To
alleviate this problem many manufacturers have turned to
robots. If a wrong robot is chosen in this type of
155
situation, the user may end up spending as much or more
money as he would using conventional procedures. All ro
bots are not created equal, and the user should research
their variations before selecting any specific robot. Most
robot manufacturers can custom fit a robot to do most types
of tasks in just about any type of environment. Nothing is
free, however, and the question is 'why spend that extra
money on custom fitting if there is a robot some where that
can do the same task at no additional cost.'
TABLE 39
ROBOCODE - Thirty Eight- Position
RECOMMENDED MAX OPERATING TEMPERATURES
DEGREES FARENHEIT
0. unspecified
1. MXT<=100
2. 100<MXT<=120
3. 120<MXT<=140
4. 140<MXT<=160
5. MXT > 140
DEGREES CENTIGRADE
0.
1.
2.
3.
4.
5.
Unspeci f ied
MXT<=40
40<MXT<=50
50<MXT<=60
60<MXT<=70
MXT > 60
156
TABLE 40
ROBOCODE - Thirty Ninth Position
HUMIDITY
0.
1.
2.
3.
4.
5.
6.
7.
Unspeci
0 -
0 -
5 -
5 -
8 -
8 -
0 -
90
100
90
95
80
90
80
8. RESERVED
9. RESERVED
Conclusions
The main objective of this chapter was to provide a
more efficient method for managing the vast amount of infor
mation in the field of robotics. This has been done through
the application of a coding and classification concept.
The forty attributes used to describe robots in this
study are representative of most of the robots surveyed.
They are as compact and exhaustive as can be with little or
157
no redundancy. By representing these 40 attributes in a
code form, a more elegant and fast database management sys
tem will be developed to further help the potential robot
user better retrieve these robot information.
TABLE 41
ROBOCODE - Fortieth Position
TOLERABLE ADVERSE ENVIRONMENTS
0. Unspecified
1. Dirty Environment
2. Chips
3. Air Contaminants
4. Water or Coolant
5. Greasy Environment
6. Vibration
7. Electromagnetic Radiation
8. Nuclear Radiation
9. OTHER
158
Coding the Robots
Having defined the robot attributes in a code form, the
major robots that are currently available in the market were
coded and stored in the computer-aided robot selection pro
cedure (CARSP) database. So far about two hundred of such
robots exist {64,104,122,135}. The CARSP system was de
signed to accommodate the dynamic nature of robot technolo
gy, so that more robots can be added to the system's data
base as they become available. The respective CARSP system
segments used for this and other purposes are discussed in
Chapter 4. A user manual explaining the CARSP system archi
tecture and operating instructions is documented in Appendix
B.
CHAPTER IV
DESCRIPTION OF TASKS FOR THE CARSP SYSTEM
Introduction
In Chapter 3 the Robot Coding and Classification System
was developed for use in the coding of descriptive parame
ters for robots and their operating environments. In the
present chapter, the same system will be used to code tasks
or jobs the robots are required to perform. This is neces
sary in order to ensure consistency in the matching of these
tasks to the appropriate robots. ' For example, a task envi
ronment in which the maximum distance between two adjacent
points is 24" would have the same code value as a robot with
a reach of 24." Therefore if under this attribute (reach)
the robot is given a code number of 1, then the task envi
ronment would be given the same code number.
It is clear that some robot variables may not have a
direct descriptive relationship with some task variables.
For example, robot weights can not be compared directly to
the weight of an object to be lifted. However, it can be
compared directly to the structural, limitations of the
building, which in this case is the corresponding
environmental constraint associated with the task. Another
159
160
example is the robot programming method. As far as exe
cution of the task is concerned, this variable has no place
in the robot selection problem. Even in terms of the envi
ronment, there is no known factor that this variable can be
directly equated to. However, when one studies the overall
shop performance and the administrative structure of the
manufacturing concern, one can easily equate it to the abil
ity of the maintenance or programming personnel. If the
programming method involves the setting of mechanical
switches and relays, for example, then far more experience
would be required of the setup personnel than would be the
case if the programming method were by a teach-in. This
task attribute would, therefore, be coded based on the
user's estimate of the level of experience of the program
ming personnel.
Quite obviously, too, the parameters used to select a
robot for one task may not be valid for another task. As an
example, while a robot for material handling tasks may be
selected on the basis of its load lifting capacity, one for
painting will not--its ability to generate the required
moves would be the primary selection criterion. This is the
basis for the design of the robot coding system in which
nine of the ten code levels of digit 2 represent groups of
operations. This concept not only eliminates the diffi-
161
culty in representing each task with a code level, if it
were possible to represent all present and future robot
tasks, but also gives the system a wider scope of use. The
user therefore has to determine in which of the nine catego
ries his task belongs and code the task accordingly.
Coding the Robots
One of the main objectives of this study was to offer
the robot user a fast and efficient robot selection algor
ithm in an interactive mode. In pursuing this goal, it was
important that the user be given control, as much as possi
ble, over the data that go into the system. Two segments of
the CARSP system: SELECT and SORTER are used exclusively for
this purpose, while another segment, DATABASE is used for
all of the housekeeping functions. These subroutines are
discussed subsequently.
Subroutine DATABASE
The primary function of the DATABASE subroutine is to
aid the user in the management of the vast amount of infor
mation that is used to describe robots. One source lists
150 pieces of information describing a robot {104}. For a
database with 200 robots, a total of about 30,000 pieces of
information will have to be searched in order to select the
162
target robot. Although only 40 attributes were used to
describe the robots in the CARSP system database, a consid
erable amount of information is still being manipulated.
The DATABASE routine has built-in screen editing functions
that make this data manipulation more manageable. These
editing functions are described in the CARSP system manual
(Appendix B).
The measure of effectiveness of any interactive system
is in its ability to provide the intended service as clearly
as possible to the end user. This ability is often referred
to as the systems "user friendliness" or "flexibility." In
designing the DATABASE subroutine extra care was taken to
make this goal tenable. DATABASE has five major subsystems
as follows:
1. ADD,
2. UPDATE,
3. DELETE,
4. LIST, and
5. SUMMARIZE.
These five subsystems will now be described. A more elabo
rate description of these and other subroutines of the CARSP
system are given in Appendix B, and the reader is encouraged
to refer to this appendix as often as possible.
163
The ADD Subsystem
The ADD subsystem, as the name implies, is used for the
addition of new robots to the database. This capability is
of utmost importance in robotics in view of the dynamic na
ture of the technology. New products are constantly intro
duced to the market, and the user can readily include them
in this database within a fraction of the time it would take
him to read the product literature. The ADD subsystem is
therefore fast and simple, and incorporates a help routine
that automatically displays the valid codes for any robot
attribute in the database. Although the robot attributes
are represented in a code form-, the ADD subsystem can dis
play them in user understandable form. Sprague and Carlson
{125} identified five capabilities required of a database
system as follows:
1. The ability to combine a variety of data sources through a data capture and extraction process.
2. The ability to add and delete data sources quickly and easily.
3. The ability to portray logical data structures in user terms so that the user understands what is available and can specify needed additions and deletions.
4. The ability to handle personal and unofficial data so that the user can experiment with alternatives based on personal judgment.
164
5. The ability to manage this wide variety of data with a full range of data management functions {p. 32}.
These functions were designed into the CARSP system archi
tecture as diligently as possible, to enhance the robot se
lection process. Figures 27A to 27C show the typical steps
that would be taken when adding robots to the database using
the ADD subsystem.
The figures and explanations given here assume that the
DATABASE program has been loaded. From the DATABASE menu of
Figure 27A, the user enters A for ADDition, resulting in the
screen display of Figure 27B. This figure shows the first
nineteen codes of the robot coding system, plus three extra
codes for other information on the robot besides those de
scribed in the previous chapter.
The robot to be added to the database can now be coded
using the robot coding system described in Chapter 3. A de
tailed example of the ADD subsystem and other DATABASE man
agement procedures are discussed in the CARSP user-manual
documented in Appendix B. The exact code value for any ro
bot attribute can be found by entering the CTRL-J keys at
the CODE value of interest. An example on this procedure is
depicted in Figure 27C which shows the last 21 codes of the
coding system. The CTRL-J entry was for CODE 33:. The
165
A
TOTAL MUHBEB OF flOBOT DESCRIPTIONS: 199 NUMBER OF DELETED ROBOT DISCRIPTIONS: 0
LAST UPDATED: 09/12/83
A-OD A ROBOT OESCRIPTIOM U-PDATE AN EIISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-HD
COHNAND: *J FOR HELP
B
*:s/i(AS«SEJii 900 Dir tzoi
•oior iNootriFiUkiioa: wiE i: WE ::
cose 91: COSE 92: COS! 91: C08E 94: COSE 99: COSE 9t: COSE 97: COSE 91: COSE 9T: COSE IO: COSE II: cose 17: cose 13: COSE i<; COSE 13: COSE It: COSE 17: COSE \r. cose It:
0
cose ;o: COSE 21: COSE ; ] : COSE 23: COSE 21: COSE IV COSE 2k: COSE 27: CODE 21: COSE IV. :m 30: COSE :i: CODE 32: CODE n : COSE J«: COSE 33: COSE 34: COSE 37: COSE :B: COSE ]T: COSE <o:
l:8«IAMSE.IIII H I KIT 1201
COSE 33: YAIIS COSES
I mftim voiitsE: Nor STECIFIE* 10 y<i |2 VSC V K I « « (
20 V) I7 VSC VOLIASE
30 V ( i | | 0 V«C VdlASE
*0 I IS<V(i |2S VAC V011A6E
30 I29(V(>230 VAC 'IXHH
to 230<y<-]B0 VAC voirASE
70 3IO(V<i460 VAC VOIAIEE
90 <tO<V(«)00 VAC V0(.«(6E
to V>J0O VAC VOIIAK
Figure 27: ADD Subsystem/User Interaction
166
codes for each attribute is shown on the first column of the
valid code table and the rest of the entries describe the
particular robot attribute. Notice that two digits have
been used to represent the codes described in Chapter 3, for
example, instead of a code of 2, a code of 20 is used and so
on. This convention is necessary so that should there be
any need to expand the current maximum of 10 levels for any
attribute, it can be done without necessarily rewriting the
CARSP system software. That is, the code levels may then
vary from 00 to 99 for a maximum of 100 levels. This would
be difficult, if not impossible, with the manual format (0
to 9) of Chapter 3, as non-numeric characters like "."
(i.e., 1.1, 1.2, etc.) would have to be used.
Once all the available information on the robot to be
added to the database have been coded, the user then enters
CTRL-W to write the description to the database. On enter
ing this command, the DATABASE menu of Figure 27A is shown
again with the database count incremented by 1, to 201. The
above procedure is then repeated until all the robots have
been coded. To exit the DATABASE menu, the E option is en
tered at which point the user is returned to the main MENU
program.
167
The UPDATE Subsystem
The UPDATE subsystem is very much like the ADD subsys
tem except that in this case the robot to be updated already
exists in the CARSP system database. Sometime the user or
manufacturer of robots may want to increase or improve the
robot's capability by rebuilding it, or equiping it with a
more powerful control system. The UPDATE subsystem provides
the user the tool with which to document these changes in
the database. For example, suppose that robot 100 were to
be UPDATEd from servo continuous path/point-to-point
(CP/PTP) to servo continuous path (CP). To effect this
change, a U is entered from the DATABASE menu as shown in
Figure 28A.
The system then requests for the number of the robot to
be UPDATEd (Figure 28B). To be valid this number must exist
in the database. Therefore, it must be between 1 and the
"TOTAL NUMBER OF ROBOT DESCRIPTIONS:." For this example,
the number must be between 1 and 199, otherwise, a message
is printed as shown in Figure 28C to allert the user of the
error.
On entering 100 in Figure 28B, the screen of Figure 2SD
is displayed showing all the current information on robot
100. As can be seen from these figures, the ADD and the
UPDATE subsystems use identical procedures except that in
168
the l a t e r c a s e t he r o b o t to be UPDATEd a l r e a d y e x i s t s in t he
CARSP sys tem d a t a b a s e .
To UPDATE CODE 01 from s e r v o CP/PTP to s e rvo CP, the
u s e r maneuvers t h e c u r s o r wi th t h e h e l p of t he CARSP s y s
t e m ' s s p e c i a l l y d e f i n e d keys ( f o r example , f a s t forward and
backward, c h a r a c t e r , word and l i n e d e l e t i o n keys as d e
s c r i b e d in Appendix B) . The CTRL-J keys a r e then used to
r e c a l l t h e v a l i d codes for CODE 01 ( F i g u r e 28E). The c o r
r e c t code of 20 i s then e n t e r e d , and s i n c e no more UPDATEinc
i s to be done , t h e CTRL-W keys a r e used to r e c o r d the change
in t he d a t a b a s e . CARSP r e q u e s t s for more robot numbers to
be UPDATEd, and s i n c e t h e r e a r e no more r o b o t s for UPDATE-
ing , a RETURN key i s e n t e r e d and t he u s e r i s r e t u r n e d bacK
to the DATABASE menu of F i g u r e 28F.
TOtAL NUMBER OF ROBOT DESCRIPTIONS: 199 LAST UPDATED: 0 9 / 1 2 / 8 3 NUMBER OF DELETED ROBOT DISCRIPTIONS: 0
A-OD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L- IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: Lf '^ ^^^ ^^^^
Figure 28: UPDATE Subsystem/User Interaction
169
B
TOTAL NUNBER OF ROBOT DESCRIPTIONS: 199 NUHBER OF DELETED ROBOT DISCRIPTIONS: 0
• ~ \
LAST UPDATED: 09/12/83
A-DD A ROBOT DESCRIPTION U-POATE AN EIISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ftLL ROBOT DESCRIPTIONS S-UNHAR12E ALL ROBOT DESCRIPTIONS E-NO
COHHAND: U 'J FOR HELP
ENTER THE HUHBER OF THE ROBOT OSC. YOU «ANT TO UPDATE: 3 0 0
V i m THE NUHBER OF THE ROBOT DSC. TOU W N T TO UPDATE: TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 LAST UPDATED: NUHBER OF DELETED ROBOT DISCRIPTIONS: 0
09/12/93
A-DD A ROBOT DESCRIPTION U-PDftTE AH E1ISTIN8 ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARlZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: U *J FOR HELP
ENTER THE NUHBER OF THE ROBOT DSC. YOU MANT TO UPDATE: 3 U 0 ENTER A NUHBER FROH I TO 200 -- OR '.' TO EIIT ENTER THE NUHBER OF THE ROBOT DSC. YOU KANT TO UPDATE: I 0 0
D
A:OATABASE.RBT UPOT R8T 1100
ROBOT INDENTIFICATION: IDEVILBISS TR-3300S|
NOTE i; NOTE 2: CODE oi: CODE 02: CODE 03: CODE 04: CODE 05: CODE 06: CODE 07: CODE OS: CODE 09: CODE 10: CODE 11: CODE 12: CODE 13: CODE M : CODE 13: CODE CODE CODE CDCE
1&: 17: 19: \v.
DEVILBISS COHPANY, THE 30O PHILLIPS AVE., TOLEDO, OH. 43692 30 30 70 10 90 90 0 ro 0 0 0 0 60 30 50 0 0 0 0
•19-470-21691
Figure 28: Continued
170
E
f
A:DATABASE.RBT UPDT R6T 1100
ROBOT INDENTIFICATION: |DEVILBISS TR-3500S| NOTE i: NOTE 2: CODE Ol: CODE 02: CODE 03: CODE 04: CODE 05: CODE 06: CODE 07: CODE 08: CODE 09: CODE 10: CODE 11: CODE 12: CODE 13: CODE 14: CODE 15: CODE 16: CODE 17: CODE 18: CODE 19:
DEVILBISS COHPANY, THE | 300 PHIUIPS AVE., TOLEDO, OH. 43692 419-470-21691 50 ' 30 70 10 90 90 0 20 0 0 0 0 60 30 50 0 0 0 0
CODE 01: VALID CODES
0 ROBOT SYSTEM CLASS NOT SPECIFIED 10 SERVO • PRECISION 20 SERVO - CONTINUOUS PATH 30 SERVO - POINT TO POINT 40 NON SERVO - POINT TO POINT 30 SERVO - CP/PTP 60 SERVO - CP/NON SERVO - PIP 70 SERVO - PTP/NON SERVO - PTP 30 RESERVED 90 OTHER TYPES OF CONTROL SYSTEM
\
/
TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 NUHBER OF DELETED ROBOT DISCRIPTIONS: 0
LAST UPDATED: 09/12/83
A-DD A ROBOT DESCRIPTION U-PDATE AN EHSTINO ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: J FOR HELP
Figure 28: Continued
171
The DELETE Subsystem
In spite of all the sales pitches one may have heard,
robots can and do become obsolete. Sometime the robot manu-
facturer may want to discontinue a particular robot model
due to lagging sales or other reasons. The DELETE subsystem
provides the user a means of telling the CARSP system not to
consider this particular robot in future selections. How
ever, the robot is not completely deleted from the database.
This is a special feature of the CARSP system, that makes it
possible to reactivate the robot with the UPDATE subsystem
whenever necessary. The D option is entered from the
DATABASE menu as shown in Figure 29A. The system then re
quests for a robot number to be DELETEd. On entering this
number as in Figure 29B, CARSP puts a "***DELETED***" tag on
the robot, simultaneously, showing the user that the dele
tion has been completed (Figure 29B), and automatically re
turns to the DATABASE menu (Figure 29C). The count on the
number of robots DELETEd is now incremented by 1, to 1, Fig
ure 29C. The UPDATE subsystem may be used to restore the
DELETEd robot back to active file.
B
TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 LAST UPDATED: 09/12/83 NUHBER OF DELETED ROBOT DISCRIPTIONS: 1
A-DO A ROBOT DESCRIPTION U-PDATE AN EIISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: D J FOR HELP
1 7 2
TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 LAST UPDATED: 09/12/83 NUHBER OF DELETED ROBOT DISCRIPTIONS: 0
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND .
COHHAND: D J FOR HELP
ENTER THE ROBOT DSC. NUHBER TO BE DELETED: 1 0 0
ROBOT OSC. 100 HAS BEEN DELETED
t
TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 LAST UPDATED: 09/12/83 NUHBER OF DELETED ROBOT DISCRIPTIONS: 0
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: *J FOR HELP
F i g u r e 2 9 : D E L E T E S u b s y s t e m / U s e r I n t e r a c t i o n
173
The LIST Subsystem
Other subroutines of the CARSP system; SELECT, SORTER
and ECONOMY do not have data management capabilities. For
example, in a SORTER routine five robots have been found to
be potential candidates for a given task. The user can not
directly review them from this routine as the robots are
represented by only their numbers and descriptions in the
database. However, with these two pieces of information,
the user can exit from the SORTER routine to the MENU rou
tine, then enter the DATABASE routine and use the LIST sub
system to review these robots. The robots can now be seer,
in both their code forms and their user understandable
forms.
To LIST the robot of the UPDATE example, an L is en
tered from the DATABASE menu as shown in Figure 30A. The
system then responds with the screen display of Figure SOB
at which point the user enters 100. CARSP then gives the
user the options of a line printer output and on screen out
put. Figure 30C. All the information on robot 100 is then
LISTed to the screen (C option) or to the printer (P option)
to obtain a hard copy. Figure 30D is an example of a hard
copy obtained for the information on robot 100. Once all
the information has been LISTed, the system returns the user
back to the DATABASE menu once again (Figure 30A).
TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 NUHBER OF DELETED ROBOT DISCRIPTIONS: 1
LAST UPDATED: 09/12/83
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: L J FOR HELP
1 7 4 • ^
B
TOTAL NUMBER OF ROBOT DESCRIPTIONS: 199 NUHBER OF DELETED ROBOT DISCRIPTIONS: 1
LAST UPDATED: 09/12/83
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: L J FOR HELP
ENTER A SINGLE ROBOT DSC. NO., 2 ROBOT DSC. NO.'S SEPARATED BY A DASH, AN 'A' TO LIST THE ENTIRE FILE, OR (RETURN) TO RETURN TO HENU 1 0 0
TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 NUHBER OF DELETED ROBOT DISCRIPTIONS: 1
LAST UPDATED: 09/12/83
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: L J FOR HELP
ENTER A SINGLE ROBOT DSC. NO., 2 ROBOT DSC. NO.'S SEPARATED BY A DASH, AN 'A' TO LIST THE ENTIRE FILE, OR <RETURN> TO RETURN TO MENU l O U IS OUTPUT BEING SENT TO PRINTER OR CRT CP' OR ' O ? P SET UP THE PRINTER AND PRESS RETURN
F i g u r e 3 0 : L I S T S u b s y s t e m / U s e r I n t e r a c t i o n
1 7
091283 ROBOT DESCRIPTIONS A:OATABASE.fiBT
ROBOT DSC. I 100 » H » I DELETED H I M
ROBOT INDENTIFICATION: DEVILBISS TR-3300S NOIE l: DEVILBISS COHPANY, THE
300 PHILLIPS AVE., TOLEDO, OH. 43692
D
NOTE 2: CODE Ol:
CODE 02:
CODE 03: CODE 04: CODE 03; CODE 06: CODE 07: CODE 08: CODE 09: CODE to: CODE ii: CODE 12: CODE 13: CODE 14: CODE 15:
CODE 16: CODE 17:
CODE la: CODE 19: CODE 20: CODE 21: CODE 22: CODE 23: CODE 24: CODE 25: CODE 26: CODE 27:
CODE 28: CODE 29: CODE 30: CODE 31: CODE 32:
CODE 33: CODE 34: CODE 35: CODE 36: CODE 37:
CODE 38: CODE 39:
CODE 40:
301 50 30 70 10 90 90 0 20 0 0 0 0 60 30 50 0 0 0 0 60 10 80 0 0 30 20 40 10 0 10 70 0 50 30 20 0 10 20 0 0
419-470-2169 SERVO - CP/PTP F1NISHIN8 OPERATIONS VISUAL/RAN8E-PR0X1HITY SENSORS YES: DIAGNOSTICS AVAILABLE R>.030' ! R>.760flH REPEATABILITY PA>.030* I PA>.760«H ACCURACY PAYLOAD IN POUNDS/KILOGRAMS UNSPECIFIED 5<LV<«10 IPS I 127<LV<=254 MHPS VELOCITY ANGULAR VELOCITY (DEGREES): NOT SPECIFIED NTBF (HRS OR I): UNSPECIFIED NTTR (HRS OR I): UNSPECIFIED COORDINATE 3YSTEH NOT SPECIFIED 6 AIES 20'<HR(=40' I 309MH<HR(»IOl6Hn H. REACH 60*<VR<«80* I 1524Mn<VR<>2032«H V. REACH ARH SHEEP (DEGREES/IN/HH): UNSPECIFIED XRIST BEND/PITCH (DEGREES): UNSPECIFIED/UNAVAILABLE URIST YAK (DEGREES): UNSPECIFIED/UNAVAILABLE WRIST SHIVEL/ROLL (DEGREES): UNSPECIFIED/UNAVAILABLE 1000<«<=2000 LflS I 434(«<=907 KGS FS<=5 SD. FT. I FS<=19.3 SB. H. ELECTRONlC/niCROPROCESSOR TYPES MEMORY MEMORY CAPACITY (I STEPS,BYTES,PROGRAflS):UNSPECIFlED NUHBER OF 1/0 CHANNELS NOT SPECIFIED HYDRAULIC DRIVE LEADTHROUGH PROGRAH METHOD ARC HELDIHG/SPRAY SUN ONE GRIPPER ONLY SAFETY FEATURES NOT SPECIFIED FLOOR MOUNTED (FIIED) 90000<C(=<100000 COST/ROBOT POWER CONSUMPTION: NOT SPECIFIED 120<V<s230 VAC VOLTAGE VOLTAGE PHASE » 3 VOLTAGE FREg. » 60 HERTZ CURRENT (AMPERES): NOT SPECIFIED T(«32 DEG. F I T<=0 DES, C MIN TEMP. 100<HIT(=I20 OES. F ! 40(MIT<»50 DEG C MAI TEMP. ENVIRONMENTAL HUMIDITY: NOT SPECIFIED TOLERABLE ADVERSE ENVIRONMENTS:UNSPECIFIED
Mi» PRESS ANY KEY TO RETURN TO MAIN HENU »»#»
Figure 30: Continued
176
The SUMMARIZE Subsystem
The SUMMARIZE subsystem is similar to the LIST subsys
tem except that in this case, all the robots in the database
are listed or printed out. This provision is especially
useful when a particular robot's identification number is
not known. The robots are listed in a code form, and once
the target robot is found the LIST subsystem can be used to
recall and review the individual robot thoroughly. S is en
tered from the DATABASE menu as shown in Figure 31A. The
system then displays the screen of Figure 31B to give the
user the output options. Once the choice is made, the whole
robots currently residing in the database are listed out in
their code form (Figure 31C). The user is then returned to
the DATABASE menu for more input commands.
TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 NUHBER OF DELETED ROBOT DISCRIPTIONS: 1
LAST UPDATED: 09/12/83
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: S J FOR HELP
F i g u r e 3 1 : S U M M A R I Z E S u b s y s t e m / U s e r I n t e r a c t i o n
B
1 7 7
TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 NUHBER OF DELETED ROBOT DISCRIPTIONS: 1
LAST UPDATED: 09/12/83
A-DO A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: S J FOR HELP
IS OUTPUT BEING SENT TO CRT OR PRINTER CP' OR ' O ? p
091283 A:DATABASE.RBT LIST OF ROBOT DESCRIPTIONS
NO. IDENTIFICATION (CLASSIFICATION FOLLONS) 1 NUHAN I \ II
20I70I30I10I50!50I50I40!OIO!OI40!50I70!80!70!3010!60!60!40!70!20!OIO!40I9010!OIO 2
0!0!OIO!OIOIO!OIO!0!0!OIO!OIO!0!0!OIOIOIO!0!0!0!OIO!0!0!0!OIO!0!0!OIO!OIOIO!0!OI
78 HODEL FR-200 30110!0l0l70!1010l50l0l90!10l80l0l0!0l0l0l0!0l30!30!010l0ll0!30!60l0!30l60l40!0!70!:
79 COPPERWELD CR-5 30I90!70I10!30I50I10I0I0!0I0!20!50!0!0I0I0I0I0!30110I60I20I0I10140!10I1010I10I2010I
80 COPPERWELD CR-10 40I90I70I10!30!50I10IOIO!OIOI20!50!0!0!01010!0!30!10160!2010!20140I10110!OI1012010!
81 COPPERNELD CR-50 40190!70!10l50150!20!0!0!010l20!50!010l0!0l010!40!30!60!20!0!20!40!10!101011013010!
82 COPPERNELD CR-100 70190170!10!20I10I10I30IOIOIOI10I30130!2010!0!0140!30I90!80!2010120!4019010!10190!'
83 SPR-64 PAINTER 30I30!OI10!90!0!20I8010IOI0160I60!60180!30170!30!30!60I10!50!60!20!30!40!0!1010101
Figure 31: Continued
178
Subroutine SELECT
The purpose of this segment of the system is to enable
the user to select robots of a given technological level.
Robot technological levels are as described in Chapter 3,
and are repeated here for convenience.
1. Servo Precision,
2. Servo Continuous Path (CP),
3. Servo Point-To-Point (FTP), and
4. Non-Servo Point-To-Point
5. Servo-CP and Servo-PTP
6. Servo-CP and Non-Servo PTP
7. Servo-PTP and Non-Servo PTP
8. RESERVED
9. OTHERS
A. By Company Name
Among these options is the user's ability to select a robot
by company name. Over the years, some robot users have
grown comfortable with a particular manufacturer, and this
option makes it possible for such users to look for what
they want only within a specified company. Given these ro
bots, the user can review them individually with the
DATABASE program segment, or use the SORTER segment to
further constrain the selection criteria.
179
Suppose that a user wanted to search the database for
servo continuous path class of robots. Option 2 is entered
from the MENU program (Figure 32A) resulting in the screen
of Figure 32B. Since the search criterion is type of con
trol system, option 1 is entered. The screen of Figure 32C
is displayed showing the various search categories. On en
tering option 2, the system then searches the database for
robots that are of the servo continuous path type. Found
robots are automatically echoed to the screen (Figure 32D),
and the user can review their code values immediately.
After all the robots have been searched, a tally of the
found robots is kept and echoed again to the screen showing
their database reference numbers and descriptions (Figure
32E). A <CR> is entered to return the user to Figure 32C
again. The process can be repeated for other search cri
teria or the 0 option used to exit back to the MENU program.
^
A
1 ENTER SYSTEH COHHAND ! /«ftf«»»«ffft}»f*»<ffifif>«\
! 1 DATA BASE MANAGEHENT ! 2 ROBOT SELECTION/MATCH I 3 ECONOHIC ANALYSIS ! 4 USER INFORHATIONS/INSTR. ! 0 END OF SESSION \if»if«««>iffif»fi»f«i«iiii/
ENTER COHHAND :
Figure 32: SELECT System/User Interaction
1 8 0
ROBOT SELECTION OPTIONS
B
1 SEARCH A DATABASE by type of Robot CONTROL SYSTEH (ROBOT CLASS) 2 HATCH A TASK TO A ROBOT by type of APPLICATION 3 RESERVED 0 RETURN TO HAIN HENU
ENTER COHHAND:
>«
1 2 3 4 5 6 7 8 9 A 0
SEARCHING DATABASE BY ROBOT CLASS
SERVO PRECISION SERVO CONTINUOUS PATH SERVO POINT TO POINT NON-SERVO POINT TO POINT SERVO CP/SERVO PTP SERVO CP/NON-SERVO PTP SERVO PTP/NON-SERVO PTP RESERVED NOT IHPLEHENTED OTHER TYPES OF CLASS COHPANY NAHE Ist 3 LETTERS RETURN TO HENU
ENTER COHHAND: 2
DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX:
B:PRECISON.NDX B:CONPATH.NDX B:SERVOPTP.NDX BlNONSERVO.NDX B:SCP-SPTP.NDX B:SCP-NONS.NDX B:SPTP-NON.NDX BlRESERVED.NDX B:OTHER-APP.NDX B:COHPANY.NDX
Figure 32: Continued
D
r 1 8 1
SEARCHING ROBOT NO.: 1 1
NUHAN U II
ACCUHATIC HACHINE CORPORATION (PLUS OPTNS. 6 i 8) 3537 HILL AVE., TOLEDO, OH. 43607 419-535-7997
20I70I30I10!50!50I50!40!0I0!0I40150I70!80I70130!0!60!60!40! 70!20I010I40I90!0!OIOI60!OI7013010I30IOI010!01 SEARCHING ROBOT NO.: 2 SEARCHING ROBOT NO.: 3 SEARCHING ROBOT NO.: 4 SEARCHING ROBOT NO.: 5 SEARCHING ROBOT NO.: 6
SEARCHING ROBOT NO.: SEARCHING ROBOT NO.: 16
15 16
ELECTRO-ARH AIR TECHNICAL INDUSTRIES (EXCEPT OPTNS. 2 \ 4) 7501 CLOVER AVE., HENTOR, OH. 44060 216-951-5191 20!90I80110190I90!60190!010I0130I4010IOI010!0!0!70I30I 80120140110180IOIOI30I1014010I50I30I20IOIOI010101 SEARCHING ROBOT NO.: 17 SEARCHING ROBOT NO.: 18
SEARCHING ROBOT NO.: SEARCHING ROBOT NO.: SEARCHING ROBOT NO.: SEARCHING ROBOT NO.: SEARCHING ROBOT NO.: SEARCHING ROBOT NO.: SEARCHING ROBOT NO.: SEARCHING ROBOT NO.; SEARCHING ROBOT NO.: SEARCHING ROBOT NO.:
190 191 192 193 194 195 196 197 198 199
Figure 32: Continued
182
INPUT TEST OF INDEX WRITTEN FOR SERVO CONTINUOUS PATH ROBOTS
ROBOT t 1 16 22 47 48 49 50
DESCRIPTION NUHAN I tl II ELECTRO-ARH ELECTROBOT HHU-SENIOR HHU-JUNIOR ASEA HHU-HINOR AUTOHATON-I
65 66 67 68 69 70 71 85 87 115 116
145 179 182 183
HILACRON T3-586 HILACRON T3-726 HILACRON T3-746 HILACRON T3-776 HILACRON HT3 LIHAT 200 SERIES LIHAT RT-2B0 HR AROS JP 6E AH-7A ARC MELDER GCA XR-3 GCA XR-4
•
COATING ROBOT SERIES-4000 SERIES-7000
TYRE P TO SEND OUTPUT TO PRINTER OR RETURN TO CONTINUE:
Figure 32: Continued
183
Subroutine SORTER
Different manufacturing processes require different
workplace layouts, and sometime different operating environ
ments. In selecting a robot, therefore, it is important to
describe different robot and environmental requirements for
different tasks. In this section the respective task groups
will be defined relative to the coding system. The SORTER
subroutine is used for this purpose. The routine is very
much like the SELECT routine except that it uses the robot
application code as the entry criterion. The chosen appli
cation is then described to the system using the coding sys
tem. The interactive nature of the procedure ensures that
the user can use different combinations of the task vari
ables to analyze a given application.
As was defined in equations 1.4 and 1.5, the robot se
lection problem was to minimize an objective function sub
ject to the constraints that the robot meet or pass the
specified task and environmental variables. In symbols
then;
Minimize XQ = A 4.1
S . T. Yj , Z^ <= X^ ^.2
where,
A = objective function vector,
Y- = task variables,
184
Z^ = environmental variables associated with the
task, and
X. = robot variables and its environmental variables,
as defined in the robot coding system.
In most aspects of manufacturing the following vari
ables can usually be identified with the tasks to be per
formed:
1. The number of products to be produced per shift--lot
size.
2. The number of products to be produced per year—de
mand.
3. The weight of the products.
4. The dimensions of the products.
5. The part uniformity.
6. The condition of the parts—hot or cold.
7. The state of the parts—solid, limp.
8. The cycle times for each part.
9. The operation time for each part.
10. The handling time for each part.
11. The surface finish requirements.
12. The part and workpiece materials and other machining
variables. Such as speed, depth of cut and feed.
13. The layout type: cell, line or functional.
14. The number of machines to be serviced by the robot.
185
15. The approximate machine spacings.
For the robot selection problem as defined in this litera
ture let the following symbols be used to represent the cor
responding variables.
K = number of products (e.g., flats, bolts, frames).
I = number of operations/product
(e.g., painting, drilling, welding)
Qj = yearly demand for product k.
qjt = lot size for product k.
(tc)k = cycle time for product k.
(t )^ = actual operating time for product k.
(t ) } = handling time for product k.
C = cell type layout.
L = line type layout.
n = number of machines or work stations (e.g., weld
or paint stations) serviced by each robot,
ai = equipment spacings.
Figure 33 shows the model layouts that will be referenced
for the remainder of this chapter. It shows respectively in
A the line, and B, the cell type layouts. It is assumed
that the maximum number of machines to be serviced by the
robots is four, and that the robots and machines are
stationary in each layout. This is consistent with the
requirements cited by some researchers {99,117}.
186
IN
Mi ^
\ .
A-LlNE
V , r7]
ROBOT
/
M:
OUT
B - C E L L
IN OUT
Figure 33: Line and Cell Type Layouts
187
For a robot to be able to perform any task one
condition must be met.
The code for any robot's attribute must be as good as or better than the code for the corresponding task attribute. For example, if the part weighs 40 pounds and the robot can only lift 30 pounds, then the robot can not perform the task of lifting that part.
This is quite straight forward for such task attributes as
weight and shape. However, it is not readily clear for such
attributes as lot size, surface finish and cycle time.
In classical machining operations it has been deter
mined that machining speed affects surface finish more than
any other machining variables {29,45}. Other factors that
affect surface finish are, workpiece material, feed, depth
of cut, etc. The safe amount of speed that can be attained
on any given tool is a function of the tool material and
will not be considered any further. The weight of the part
can be coded directly from the CARSP system. The point of
interest then was, given that a task has lot sizes, cycle
times, etc., how can these attributes be equated to the ro
bot variables in order to select the robot that can perform
the task? With the assumption of the layouts of Figure 33
four different cases of robot task descriptions can be seen
{55}.
1. 1 machine 1 operation and 1 product,
188
2. n machines I operations and 1 product; I>=l,n>=2,
3. n machines 1 operation and K products; K>=l,n>=2,
and
4. n machines I operations and K products; I,K,n>=2.
Assumptions Concerning the Models
1. The robot should be kept as busy as possible.
2. The machines should be kept as busy as possible.
3. The cycle times are such that assumptions 1 & 2 are
true. That is, if the n machines are busy, once one
is unloaded it is reloaded before the robot can at
tend to any other machine. And once it is loaded,
another machine is ready to be unloaded, and so on.
4. For the n/l/K cases (n,K>=l) the machines are identi
cal and are capable of only one operation.
5. For the n/I/K, (n,I>=2, K>=1) cases, the machines are
different, perform different operations and each
product must visit each machine.
Estimating Robot Travel Distances
From the above assumptions, the possible number of
moves for the robot in each case is shown respectively in
Figures 34 and 35 assuming arc motions for the robots. For
example, the possible number of moves for the robot servic-
189
IN OUT
1. Pick up a part 8. To output conveyor
2. Load machine 1 9. Unload machine 2
3. Pick up a part 10. To output conveyor
4. Load machine 2 11. Unload machine 3
5. Pick up a part 12. To output conveyor
6. Load machine 3 13. Return to starting point
7. Unload machine 1
Figure 34: Estimating Robot Travel Distances: n/l/K Model
190
IN OUT
1. Pick up parti 13. 2. Load machine 1 14. 3. Load m/c 2 parti 15. 4. Pich up part2 16. 5. Load m/c 1 part2 17. 6. Unld m/c 2 parti 18. 7. Load m/c 3 parti 19. 8. Unld m/cl part2 20. 9. Load m/c 2 part2 21.
10. Pick up part3 22. 11. Load m/cl part3 23. 12. Unload machine 3 parti
To output conveyor Unload machine 2 part2 Load machine 3 Unload machine Load machine 2 Unload machine To output conveyor Unload machine 2 part3 Load machine 3 part3 Unload machine 3 part3 Return to starting point
part2 1 part3 part3 3 part2
Figure 35: Estimating Robot Travel Distances: n/I/K Model
191
ing 4 machines was found to be 17 and 39, respectively, for
the n/l/K and n/I/K models of the cell-type machine layout.
In general the maximum number of motions m, for the n/l/K
model is given by:
4, n=l,
m = 4.3
4(n-2) + 9, n>=2.
Similarly, for the n/I/K case,
n=l,
m = 11 n=2, 4.4
.4(2^-M + 7 n> = 3.
In Figure 36, given the radius R, of the cell and the equip
ment spacings aj_, i = l, 2 , . . , n+1, the arc distances covered by
the robot can be found using trigonometric functions. Thus,
in general,
a^ = b^ + c - 2*b*c*Cos A 4.5
where, a, b and c are the sides of a triangle, and A is the
angle subtended by side a. Expressing equation 4.5 in terms
of A gives,
Cos A = (b^ + c - a^)/(2*b*c) 4.6
192
IN OUT
Figure 36: Mapping the Travel Distances
193
A = Cos"^ ((b^ + c^ - a^)/(2*b*c) 4.7
Therefore, for any angle Q^ in Figure 36,
ei= Cos'"^((2*R ^ - a ^ )/(2*R^)) 4.8
Then, Arc d^^ = R* e , e^ in radians.
Similarly, Arc dij = R*e., i, j = l,2,...,n + 1.
For the n/l/K models of the cell-type layout, the total dis
tance D covered by the robot when the number of parts vas
equal to the number of machines was found to be,
n + 1 D^ = 2*n Z dj_ 4.9
i = l
or for 1 part,
n + 1 D = 2 y d T 4. 10
' itl
In general, for N parts, the total distance D, is given by,
n + 1 D N = 2*N S d . 4.11
i = l ^
where,
di = arc distances between any two equipment,
D = total arc distances,
n = number of machines in the cell, and
ti = total number of parts.
194
Similarly, for the n/I/K models, when the number of parts
was equal to the number of machines,
n D = 2*n(d, + d _, J + (6 + 4(n-2)) I d. 4.12 n 1 n+ 1 1 = 2
and for 1 part
n D, = 2(di + dn+i) + ((6 + 4(n-2))/n) Z d. 4.13
. i = 2
In general, for N parts
n Dj^ = 2*N(di + dn+i) + (N(6 + 4 ( n-1) )/n) ^di 4.14
Then,
Let total distance/part/machine cell = D 4.15
Total distance/cell/lot (s/c/1) = q*D 4.16
K Total s/c/1 for K products = E (q*D)
k=l
4. 17
Total handling time/lot = t2*q ^-^^
K Total handle time for K lots = I (t2*q) --^9
k=l
Velocity is defined as:
V = Distance/Time = D/t 4.20
Therefore, the minimum velocity V needed to complete the
task is given by:
195
K E (q*D), k=l ^
Vp = ^21 K E (t2*q)^ k = l ^
The velocity of the robot V^, must therefore be greater than
or equal to that required to successfully execute the task.
Vj, >= Vp 4.22
The total handling time for '' lots given by equation
4.19 can not be greater than eight hours, less the total op
eration time. Otherwise, the robot should be scheduled tor
two shift work days. Thus,
K K
k=l ^ " k = l ^ ^
From the above analysis it is inferred that the robot's
ability to meet the manufacturing constraints of the prod
ucts is a function of its speed. The robot's work envelop
is also a direct measure of its ability to carry out the
task successfully under the terms of the constraints speci
fied. One direct result of equations 4.21 and 4.22 is that
the robot's work place designer can now know in advance of
the purchase of any robot, whether or not the specifications
given for the task are consistent with what is available in
196
terms of robot models. The questions raised by this
equation are:
1. Can a robot be used for the task?
2. Is it necessary to maintain the number of machines
specified?
3. Can the lot sizes specified be increased or reduced?
4. Consider multiple shifts if (2) is yes.
5. Consider multiple robots.
6. Consider customizing the robot.
The first level of each attribute in the CARSP system
was assigned a value of 0. This meant that either the at
tribute being described was not defined for the given robot,
or that there was no data available for that attribute at
the time of this writing. In reviewing the robots in the
CARSP system database, it was found that some attributes had
an unusually high frequency of zero entries than others
while some had high frequency of entries other than zero.
This could be an indication of which attributes robot users
were always asking for information about from the robot man
ufacturers, or an indication of the scarcity of applications
data for the given attribute. For example, one would expect
the robot user to be interested in the robot's mean time
between failure (MTBF) and mean time to repair (MTTR)
history. As can be seen in Table 42 this attribute ranks
197
TABLE 4 2
Ranking Robot Attributes in Descending Order of Use
IRANKI
1 1 1
1 2 i
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
1 12
1 13
1 14
1 15
1 16
1 17
1 18
1 19
1 20
ATTRIBUTE I
Repeatability 1
Number of Axes 1
Applications 1
Robot Class 1
Program Method
Payload
Memory Type
Robot Weights
1 Diagnostics
1 Coord. System
1 Memory Capacity
1 Drive Train
1 Floor Space
1 Optg. Voltage
1 Voltage Phase
1 Cost of Robot
1 Sensors
1 Linear Velocity
1 Mountg Position
1 Effectors
P(X)%|
98.9 1
98.5 1
96.9 1
94.4 1
94.4 1
93.9 1
93.3 1
92.8 1
92.3 1
90.3 1
90.3 1
88-. 2 1
186.2 1
184.6 1
184.1 1
182.1 1
178.0 1
176.4 1
172.3 1
171.8 1
iRANKi
1 21 1
1 22 1
1 23 1
1 24 1
1 25 1
1 26 1
1 27
1 28
1 29
1 30
1 31
1 32
1 33
i 34
1 35
1 36
1 37
1 38
1 39
1 40
ATTRIBUTE 1
Voltage Freq. 1
Pos. Accuracy 1
Vertical Reach 1
Arm Sweep 1
Horizontal R. 1
Safety Features 1
Number Grippers 1
Wrist Roll 1
Max Temperature 1
Wrist Pitch
Power Usage
Min Temperature
1 Current
1 Adverse Environ.
1 Wrist Yaw
1 I/O Channels
1 Angular Velocity
1 MTBF
1 MTTR
1 Humidity
P(X)%
70.3
68.2
66.7
64.1
59.0
58.0
55.4
55.4
51.3
49.7
48.7
46.8
38.5
1 34.4
1 32.8
1 28.7
126.7
1 26.7
122.1
1 11.3
198
rather low compared to, for example, repeatabiIty. The
P(X)% column in the table is the probability of finding a
robot in the CARSP system database for which the given at
tribute was defined. That is, the attribute has a value
other than zero.
Since the robot codes are used for the task descrip
tion, the maximum number of attributes that can be used to
describe a task is 40. However, it is not necessary that
all the forty attributes be used. Experience showed that
about five attributes were enough for describing a task.
The user, therefore, only has to specify those attributes
that apply in a particular application and use them as the
minimum conditions necessary for selecting a robot for fur
ther consideration. The user has the option of specifying
any number of attributes less than or equal to 40.
Figure 37 shows a plot of the number of robots found
against the number of constraints used in the search. The
number of constraints were taken sequentially from Table 42
until no robots were found that could satisfy further con
straint additions. This result follows the multiplicative
law of probability. That is, the probability of finding a
robot in the CARSP system database for which the given
attributes were defined (i.e., have values other than zero),
decreased as the number of constraints (attributes) in-
199
NO. OF ROBOTS FOUND FOR GIVEN NO. OF CONSTRAINTS 200-j
1 8 0 -
1 6 0 -
H lUO U M 8 e R 120
fl F
ft 100 0 8 0 T S 80
f a u N 60-0
40-
20-
4
\ \
\
\
\
\
\
\
\
\
^ r ^ ^ ^ ^ T " " * ^ ™ ^ " " ^ ^ ^ " " ^ "
10 20
NUMBER OF CONSTRAINTS
- ^ ^ • ^ - ^ - ^ — T — ^ — • ^ '
30 HO
Figure 37: Number of Robots vs First 1 Significant Constraints
200
creased. The data used for the plot of figure 37 is shown
in Table 43.
The constraints used to generate the data of Table 43
and Figure 37 were of the type:
X j_ > 0; i = l,2,...,n attributes.
TABLE 4 3
Number of Robots Found for Given Number of Constraints
# Constr. Used
1
5
10
15
20
25
Constr. Used
1
1-5
1-10
1-15
1-20
1-25
# Robots Found
184
184
137
75
34
0
Figure 37, therefore, showed the maximum number of robots
that can be found for' the number of constraints specified,
using attributes with the highest probability of occurrence.
201
Figure 37 represents the best possible case. Different con
straints and and/or different constraint values would result
in a different shape of Figure 37 and therefore the number
of robots found in Table 43. Applying the constraints as
before, the number of robots found can be reduced in some
cases by either tightening the values of the constraints,
reducing the number of constraints or both.
Suppose for example, that the robots found when n=8
were as shown in Table 44. The number of robots found can
be reduced to 3 if the constraints were,
0 < x- <= 40, as only robots 2, 15, and 133 would
remain.
Or, to 2 if it is also required that
X2,X5 = 30. In this case only robots 2 and 133
will remain in the solution space. The inconclusiveness of
the exact shape of Figure 37 indicates that more study is
needed in this area. Although 40 attributes were used to
describe robots in this study, it may well be that a lot
less than that number would be adequate.
202
TABLE 44
Tightening Selection Constraints
RBT #
2
15
21
121
133
1
10
30
10
60
20
2
30
40
20
40
30
3
40
30
10
30
40
4
20
30
40
60
10
ATTRIBUTE 5 6 7 8
30
40
50
70
30
40
10
20
80
30
30
30
80
10
40
10
20
90
10
10
NUMBERS • • •
• • •
• • •
• • •
• • •
• • •
37
20
20
10
10
30
38
20
10
0
60
40
39
40
30
10
10
10
40
20
10
40
0
30
Necessary and Sufficient Conditions for Selecting a Robot
The flexibility of the SORTER routine as discussed
above can be used to advantage in the selection process.
The critical or most significant attributes of the selection
can be set at the minimum or maximum acceptable values, and
the values of the less significant attributes varied until
the best possible mix of attribute values is found. The
necessary condition for selecting any robot, therefore, is
the robot's ability to satisfy the minimum acceptable
requirements of the task. This condition is, however, in-
203
sufficient for selecting a robot since several robots may
satisfy these basic requirements. If only one robot was
found that satisfied the pertinent constraints of the selec
tion problem, then it may be used as the target robot and
the necessary condition considered as also sufficient. Oth
erwise, a selection rule as defined in the next chapter was
used to select the best robot from the competing alterna
tives. This selection rule was minimum operating cost, and
forms the objective function of the robot selection problem.
Therefore, the sufficient condition for selecting any candi
date robot is that it has the least operating cost. The
constraints of the selection problem can now be defined as
follows:
Minimize X = A 4.24
S. T.
^ <b,*x,)^ >= B, 4.25 w=l
W E (b2*X2 )^ >= B2 4.26
w=l
S ^^i*H^^ >= i ^-2^ w=l
204
W
where,
b , i=l,2,...,l are the components of the requirements
for each constraint of the robot.
x^, i=l,2,...,l are the robot's constraints, and
B^, i=l,2,...,l are the task and environment
constraints (Y-+Z] )
1 = number of constraints specified (1<=40).
Example on Def init ion of the Problem Constraints
Suppose that a material handling task were, to be per
formed by a robot and that this task had the following vari
ables.
1. Maximum weight of any part = 30 pounds.
2. The maximum machine to robot reach = 60 inches.
3. Accuracy in part loading is not critical.
4. 200 parts are to be produced each work day.
5. Three machines are to be serviced by the robot.
6. Cell type layout is in use.
7. Maximum permissible load on building floor = 2000
lbs.
8. The part cycle time = 20 seconds.
205
9. Equipment spacings are known.
From these task constraints it can be seen that the first
four variables have a one-to-one correspondence with equiva
lent robot variables. The last five do not, however, and
fall into the velocity relationship developed earlier.
Therefore, the total number of task constraints to be
matched is 5, and are defined as shown in Table 45.
TABLE 4 5
Necessary Condition for Example Problem
TASK Sc ROBOT VARIABLES
1.
2.
3.
4.
5.
Task
Part Weight = 30 lbs.
Layout = 60 "
Accuracy
Structural Limitat ions
a) # of Machines b) # of Parts c) Type Layout d) Cycle Times e) L/0 Spacing
Robot
Payload>=30 lbs.
Reach >= 60 "
Accuracy
Robot and Control Systems Weight
Linear Velocity
Constraint
>= 30 lbs
>= 60 "
>= 0
<=2K lbs.
3 200 Cell 20 seconds See Fig. 38
206
These five constraints are the necessary conditions for
further analysis on any robot since they represent the bar
est minimum values necessary to complete the task. The ve
locity equivalence for the last task constraint is calculat
ed using the formulations of equations 4.8 to 4.21. The
following figures show the user-CARSP system interaction in
specifying these constraints.
Figure 38: Model Layout for the Example Problem
207
The SORTER routine is within the robot selection option
of the CARSP system, and can be accessed by using option 2
of the MENU program as shown in Figure 39A (page 209). On
entering this option, the screen of Figure 39B is displayed
showing the robot selection menu. Option 2 is entered for
the TASK MATCHING program to reveal its menu as shown in
Figure 39C. Since the example calls for material handling
operation, option 8 is entered resulting in the screen of
Figure 39D.
In order to have the system calculate the speed equiva
lence for layouts, lot sizes and other task variables of
constraint 5, the C option is used resulting in the screen
of Figure 39E. The rest of Figures 39F to 39N show the
CARSP system user interaction for describing the task vari
ables of Table 45.
The components of constraint 5 is described to the
CARSP system as in Figure 39F. The system then displays
Figure 39G so that the user can supply the layout data for
the layout type and number of machines specified. These
data are supplied as shown in Figure 39H. Using these data,
the system then calculates the minimum speed needed to
complete the task (Figure 391). On entering the RETURN key,
the screen of Figure 39C is displayed again. The user then
enters the original task matching category as before.
208
Figure 39D is displayed again, and instead of entering the C
option as before, the U option is used since the speed task
variable relationship has been determined. The screen of
Figure 39J is then displayed and the user enters RETURN key
to reveal the rest of the robot codes (Figure 39K) as de
scribed in Chapter 3. The number of constraints specified
is entered and described to the system one constraint at a
time. To describe constraint 5: linear velocity, for exam
ple, 8 is entered as a "SIGNIFICANT ROBOT ATTRIBUTE."
To code the constraint, a code of 30 was entered as the
"LOW CODE" since this was the code for a minimum speed of 15
'Vs (Figure 39L1). A code of 40 was then entered as the
"HIGH CODE" as it was assumed that a maximum of 30 "/s was
enough for all tasks (Figure 39L2). To find the exact codes
for any constraint, a CTRL-J help command was entered as
shown in Figure 39L. The rest of the constraints were de
scribed in this manner.
The system then used these constraints and their values
to search the database for robots that could perform the
task. Found robots were echoed to the screen (Figure 39M),
and a tally of all found robots was kept (Figure 39N) and
saved under the task gro.up name. The screen of Figure 39N
showed that 10 robots were found that could do the task,
therefore, further analysis was needed. The user may then
209
exit the task matching program and use the economic analysis
model to choose the best robot from among the 10 found. As
was seen in the example, the SORTER routine is very flexible
and can handle both equality and inequality constraints,
provided that the variables are entered as a range.
I ENTER SYSTEM COHHAND !
1 DATA BASE MANAGEHENT 2 ROBOT SELECTION/HATCH
ECONOMIC ANALYSIS USER INFORMATIDNS/INSTR. END OF SESSION
\f»l«««»i»l«tl»«>t»ttt>4l»l/
! 3
I 0
ENTER COMMAND : 2
B
ROBOT SELECTION OPTIONS
1 SEARCH A DATABASE by type of Robot CONTROL SYSTEM (ROBOT CLASS) 2 MATCH A TASK TO A ROBOT by type of APPLICATION 3 RESERVED 0 RETURN TO MAIN HENU
ENTER COHHAND: 2
F i g u r e 3 9 : SORTER S y s t e m / U s e r I n t e r a c t i o n
2 1 0
^
CHOOSE DESIRED ROBOT APPLICATION CATEBORt
i ASSEMBLY/INSPECTION: 2 ARC-WELDING 3 FINISHING OPERATIONS: 4 MACHINING OPERATIONS: 5 SPOT WELDING:
6 MACHINE LOAD/UNLOAD (CNC): 7 MACHINE LOAD/UNLOAD (DIE): 0 MATERIAL HANDLING: 9 OTHER TYPES OF OPERATIONS: 0 TO RETURN TO MAIN MENU
ENTER COMMAND: 8
APPLICATION INDEX: APPLICATION INDEX: APPLICATION INDEX: APPLICATION INDEX: APPLICATION INDEX: APPLICATION INDEX: APPLICATION INDEX: APPLICATION INDEX: APPLICATION INDEX:
BlASSEMBLY.lNS B:WELD!N8.ARC B:F!NISHNG.OPT B:MACHINE.OPT B:WELD1NG.SP0 B:MACHLOAD.CNC B:HACHL0AD.D1E D:MATER!AL.HDL
B:OTHERTPE.OPT
^
CHOOSE DESIRED ROBOT APPLICATION CATEGORY
1 ASSEMBLY/INSPECTION: APPLICATION INDEX 2 ARC-WELDING APPLICATION INDEX 3 FINISHING OPERATIONS: APPLICATION INDEX \ MACHINING OPERATIONS: APPLICATION INDEX 5 SPOT WELDING: APPLICATION INDEX 6 HACHINE LOAD/UNLOAD (CNC): APPLICATION INDEX 7 HACHINE LOAD/UNLOAD (DIE): APPLICATION INDEX 8 MATERIAL HANDLING: APPLICATION INDEX 9 OTHER TYPES OF OPERATIONS: APPLICATION INDEX 0 TO RETURN TO HAIN MENU
B:ASSEMBLY.INS B:WELDING.ARC B:FiNISHN6.0PT B:MACHINE.OFT B:WELD1N6.SP0
B:MACHLOAD.CNC D:MACHLOAD.DIE B:MATERIAL.HOL B:OTHERTPE.OPT
ENTER COMMAND: 8 (— MATERIAL HANDLING
It has been deteriined that ability of the robot to successfully conplete certain tasks is a function of it's speed.
If your task variables include lot size, cycle tine and layout analysis enter C-ARSP for system calculated robot nininuin acceptable speed.
Otherwise enter U-SER for user specified ainiflun acceptable speed.
Figure 39: Continued
2 1 1
The purpose of this section of the CARSP systei -as to give you, the user in opportunity to analyze your layout intended for robotic installation.
The svstei has been designed to handle only up to 4 .achine layouts. Choose the applicable layout in your case and enter the "values as pronpted by the jystei.
One of the assu.ptions lade in this routine is that the nu.ber of ooerations are either equal to the nuiber of lachines or 1. That is, if you specified 3 lachines, either all the lachines are identical or they are all different.
In the first case the lachines therefore perfors the sate task and each jart visits only one lachine
In the second case the lachines perfori different tasks and each part or task lust visit, or be perforied on, each aachine.
Also, assuie that the aachines and the IN and OUT conveyor belts lie on the arc described by the robot's ara sweep.
ENTER RETURN KEY TO CONTINUE:
ENTER C-ELL OR L-INE FOR LAYOUT TYPE: C
ENTER THE NUMBER OF MACHINES: 3
ENTER NUHBER OF PRODUCTS; 1
ENTER NUMBER OF TASKS OR OPERATIONS: 1
ENTER LOT SIZE FOR PRODUCT 1 : 2 0 0
ENTER HANDLING TIME/UNIT FOR PRODUCT 1 (SECONDS) C f } < — - WAIT:
Figure 39: Continued
I H2 I
2 1 2
I Ml t _ _ _
5/
I I
/ \
( R )
! M3
14 5\
IN I OUT
\/\/ \/\/
Consider the above 3 lachine CELL-type layout. Enter the distances in the order proated by the systeii.
ENTER VALUE OF DISTANCE 1 IN THE LAYOUT (INCHES):
1 H2
1 HI
H 5/
I I
/ \
( R )
M3
14 5\
IN 1 I OUT I
\/\/
Consider the above 3 lachine CELL-type layout. Enter the distances in order pronted by the systet.
the
ENTER VALUE OF DISTANCE ENTER VALUE OF DISTANCE ENTER VALUE OF DISTANCE ENTER VALUE OF DISTANCE ENTER VALUE OF DISTANCE
1 IN THE LAYOUT IN THE LAYOUT IN THE LAYOUT IN THE LAYOUT IN THE LAYOUT
(INCHES) (INCHES) (INCHES) (INCHES) (INCHES)
30 30 35 45 60
Figure 39: Continued
213
1 H2
I HI I
5/
I / \
( R )
! H3
14 5\
IN !
\/\/
lOUT 1
\y\/
The MiniBua Speed required for this task is : 15 in/s. The code for this value should be used as the LOWER bound for the speed. It lay be repeated as the UPPER bound to achieve equality constraint. ENTER RETURN KEY FOR OTHER TASK DESCRIPTIONS OR R TO REDO THIS ANALYSIS;
CHOOSE DESIRED ROBOT APPLICATION CATEGORY
1 ASSEMBLY/INSPECTION: 2 ARC-WELDING 3 FINISHING OPERATIONS: 4 MACHINING OPERATIONS: 5 SPOT WELDING: 6 HACHINE LOAD/UNLOAD (CNC): 7 HACHINE LOAD/UNLOAD (DIE): 8 MATERIAL HANDLING: 9 OTHER TYPES OF OPERATIONS: 0 TO RETURN TO MAIN MENU
APPLICATION INDEX: APPLICATION INDEX: APPLICATION INDEX: APPLICATION INDEX: APPLICATION INDEX:
APPLICATION INDEX:
APPLICATION INDEX:
APPLICATION INDEX:
APPLICATION INDEX:
B:ASSEMBLY.INS B:WELDING.ARC B:F1NISHNG.0PT B:MACHINE.OPT B:WELDING.SPO B:MACHLOAD.CNC B:MACHL0AD.DIE B:HATERIAL.HDL B:OTHERTPE.0PT
ENTER COMMAND: 8 < • HATERIAL HANDLING
The Codes and Descriptors in the NEXT page have been used to represent the robots in this DATABASE. For the chosen application, YOU will be required to use these attributes to describe a task. Enter the desired range of values for each attribute when prompted.
ENTER RETURN KEY TO CONTINUE OR R TO RESTART:
Figure 39: Continued
214
K
1 Robot Class (94.41)
2 Applications (96.9Z) 3 Type of Sensors (77.91) 4 Diaqnos. Ability (92.3Z) 5 Repeatability (98.91) 6 Positn. Accuracy (66.2X) 7 Payload (93.91) 8 Linear Velocity (76.41) 9 Angular Velocity (26.71) 10 H.T. B. F. (26.7X) 11 H.T. T. R. (22.11) 12 Coord. Systei (90.31) 13 Nuiber of Axes (98.51) 14 Horizontal Reach (64.IX) 15 Vertical Reach (59.OZ) 16 A n Sweep (66.7X) 17 Wrist Bend(Pitch)(49.71) 18 Wrist YaM (32.8X) 19 Wrist Roll(Snivel)(S5.4X) 20 Robot/Contrls Wt. (92.8Z)
21 Floor Sp.:Hountq.(86.21) 22 Heiory Type (93.3Z) 23 Heiory Capacity (90.31) 24 No. I/O Channels (28.7Z) 25 Drive Train (88.2Z) 26 Proqraiq. Hethods (94.4Z) 27 Std. Effectors (71.8Z) 28 Nuiber of Grpprs. (55.4Z) 29 Safety Features (57.9Z) 30 Mountinq Positn. (72.3Z) 31 Cost: Robot Unit(82.IZ) 32 PoNer Consuiption (48.7Z) 33 Operatinq Voltage (84.6Z) 34 Voltaqe Phase (84.IZ) 35 Voltaqe Frequency (70.3Z) 36 Operatinq Current (38.5Z) 37 Hin Environ. Teip (46.7Z) 38 Hax Environ. Teip (51.3Z) 39 Huiidity Ranqe (11.3Z) 40 Harsh Environ.(34.4Z)
HoM lany significant robot attributes do you want to select by? The sore nuiber of attributes you specify, the less the nuiber of robots that are available for consideration.
r
\
1 Robot CI M l (9*.4t) 21 Floor Sp. :Hou«tg.(8«.2« 2 Applicationi (9S.9X) I I Keaory Typt (93.31) I Tupt of Smorr (77.9:) 23 »»«Mri| Copocitu (98.31) 4 Oiowoi. Abiiitif (92.31) 24 Ho. I/O Chonntis (28.7Z) 5 Rcptitobilitu (98.9X) 2S Qrive Troin (88.2t)
CSOE» 8 VALia COOES
• LIHEAR VELOCITT (IHCHES/HILLIKETEBS): UHSPECIFIED II LV (= 5 IPS I LV (= 127 MPS vaOCITT 21 5(LV<=H IPS I 127(LV(=254 IUPS VELOCITT 31 lg(LV(=2»IPS 254(LV(=5I8 NUPS VELOCITT 41 2B(LV<=38IPS Si8(LV<=762 MPS VELOCITT 51 3I(LV(=4IIPS 762(LV(=IB16 MPS VELOCITT » 4I(LV(=58 IPS H16(LV(=127B MPS VELOCITT 71 58(LV(=M IPS 127B(LV(=1524 MPS VELOCITT 81 6B(LV(=78 IPS 1324(LV(=1778 MPS VELOCITT 91 LV>7» IPS I LV 1778 MPS VELOCITT
EHTER CODE VALUE RAHCE OF Lineor Velocilij (75.4:) FOR FIHISHIHC QPEBftTIW (EXftlPLE: 28.I.4I.9I. ETC. EUTER CTRL-i FOR HELP) (LQIft VALUE: 31 HIGH VALUE: V- •J FOR HELP
Figure 39: Continued
215
t Kotot C t m (94.4t) 2RMlici t iont(96.9: ) 3 Typt ol Smort (77.9X) 4 Oiifnot; Abiliti (9E.3n SRiputibilitj(98.9t)
CODE I 8 VALIQ COOES
2t Floor Sp.:llowitf.(IS.2Z) 2E Riurg Typi (93.3t) 23Niior<|Copocitu(9f.3t). 24 HI. I/O Chinnils <Z8.7ti 25 Orivi Train (88 .2»
• LiHEAR VELOCITT (INCHES/RILLmETESS): UHSPECIFIEO II LV <= 5 IPS I LV (» 127 MPS VELOCITT 21 S(LV<stl IPS I 127(LV<:2!4 MPS VELOCITT 31 ll(Ly<=2IIPS 2S4(LV(>SBI MPS VELOCITT 41 2I(LV<=3I PS SB8(LV<<762 MPS VELOCITT SI 3I(LV(=4I PS 7(2(LV<>1B1S MPS VELOCITT fil 4B(LV<:SI PS lBlfi(LV<>t27l MPS VELOCITT 71 SI<LV(:(I PS 127B(LV(>I924 MPS VELOCITT 81 6i(LV<:7r PS lS24(LV<cl778 MPS VELOCITT 91 LV)7I IPS LV 1778 MPS VELOCITT
EHTE» CODE VALUE RAHCE OF Linior Vilocitf (75.4XJ FOR FIHISHIHC OPBaTIOH (EXAIFLEi 21.8.41.91. ETC. EHTER CTRL-i FOR HELP), ^ , ^^ (LQII VALUE: 31 HICH VALUE: 41 ): " i ^01 HELP
M
SEARCHING ROBOT NO.: 1 1
ACCUHATIC HACH. CORPORATION 3537 HILL AVE, TOLEDO, OH. 43607 NUHAN-I k n 2O(7OI3O{)0!50l50!50!40l0!0!0!40150l7O!80!70!30!0!60!60l401 70l2OI0!0!4O!90l0!OI0l60!O!7OI30IO!30!O!OI0!0i
419-535-7997
ACCUHATIC HACH. CORPORATION 3537 HILL AVE, TOLEDO, OH. NUHAN-I i II
43607
ORDER CODEI VALUE LONCODE 1 7 50 2 14 70 3 6 50 4 20 60 5 9 40
SEARCHING ROBOT NO.: 2 SEARCHING ROBOT NO.: 3
•
SEARCHING ROBOT NO.: 195 SEARCHING ROBOT NO.: 196 SEARCHING ROBOT NO.: 197 SEARCHING ROBL. NO.: 198 SEARCHING ROBOT NO.: 199 SEARCHING ROBOT NO.: 200
Fiqure
20 50 10 10 20
HICODE 90 90 90 60 90
419-535-7997
ROBOT 1= 1
39: Continued
J
2 1 6
INPUT INDEX FOR HATERIAL HANDLING ROBOTS WRITTEN
N
ROBOT i 1 45 93 97 113 136 137 141 147 184
MIIHRPR HP
DESCRIPTION NUHAN M II IRB 60 OR 60/2 CYBOTECH V-15 ELECTRIC DEVILBISS TR-3500N GCA DKP-900 HODGES HRZ-5 HODGES TITAN HODULAR ROBOTICS PROBOT REIS RR-625
RnROTc pniiNn \ in
TYPE P TO SEND OUTPUT TO PRINTER OR RETURN TO CONTINUE:
Figure 39: Continued
CHAPTER V
COST COMPONENTS IN THE ROBOT SELECTION PROBLEM
Introduction
Let a task to be performed with a robot be denoted by
the letter j, and its characteristics or associated vari
ables by the vector Y. Similarly, let the robot be denoted
with the letter i, and its variables by the vector X. An
other factor that will influence the performance or interac
tion of the task and robot is the environment, which was de
noted by k, and its variables by Z.
The most basic form of equipment selection problem is
one in which only one task is to be performed on one product
at any given time. There are several equipment (robot) op
tions but only one must be selected. Other forms of single
equipment selection problems were identified in Chapter 4,
and are repeated here for convenience.
1. 1 machinel operation and 1 product,
2. n machines, I operations and 1 product; n>=2,I>=l,
3. n machines, 1 operation and K products; n>=2,K>=l,
and
4. n machines, I operations and K products; n,I,K>=2.
217
218
The first three models are variations of the fourth model
for when n=I=K=l in (4), the first model results. Also the
second and third models result when the appropriate values
are substituted into the model. The decision criterion was
to minimize the total Operating Cost from using the chosen
robot system.
Cost Components in the Robot Select ion Problem
As discussed in Chapter 4, the constraints of the se
lection problem can be taken directly from the robot coding
system. These variables are flexible, and since the selec
tion process is "interactive, they can be made as tight as
possible to weed out as many undesirable robots as possible.
However, in some situations two or more robots may meet
these constraints. In this case a more decisive selection
rule was needed. The selection rule chosen for this study
was minimum operating cost, and in order to address this op
erating cost concept, a set of cost models were developed.
Several cost models have been developed by some re
searchers {47,48,76,95} for assessing the cost effectiveness
of a given production system. In developing these models,
these researchers have identified several cost components
some of which are:
219
1. Operating cost
2. Job waiting cost
3. Machine idle cost
4. Opportunity cost
5. Investment cost
6. Overhead cost
7.. Labor cost
For example, Gupta and Dudek {48} in investigating the opti-
mality criteria for flowshop schedules indentified the first
four, while Knott and Ghetto {76}, in addressing the robot
selection problem looked at it from the cash flow point of
view and identified the last three.
Identification of the Cost Components
Minimization of total operating cost was stated earlier
as the decision criterion for selecting one robot system
over another. For the purpose of this study three distinct
cost components (Investment, Overhead and Production costs)
were identified and formulated. The first two (Investment
and Overhead costs) suggested by Knott and Ghetto {76} were
formally defined, analyzed and formulated for the robot
selection problem. Another cost component not addressed
explicitly by the researchers, and of interest in this study
220
was production cost. From the four single equipment selec
tion models identified earlier, and these three cost models,
twelve distinct problems needed to be formulated and solved.
However, this number can be reduced to three if only the
composite problems are formulated. A composite problem is
defined as that from which other problems can be derived.
Therefore, the formulation problems were those of the multi
ple tasks and multiple products. Let I denote the number of
tasks, and K the number of products. Then for the four mod
els identified earlier, the first two of the following
equipment selection cases were developed.
1. CASE A: applies if 1=1 and K=l
2. CASE B: applies if 1=1 and K>=2
3. CASE C: applies if I>=2 and K=l
4. CASE D: applies if I>=2 and K>=2
In later analysis these models will be referenced by their
case letters. These cost components (Investment, Overhead,
Production) are discussed subsequently for the CASE D equip
ment selection model.
Investment Cost (CI^)
Investment cost is defined in this study as that ini
tial cost expended for the purchase of the robot basic unit
and its tooling requirements. In some instances the work-
221
place may have to be redesigned to accommodate the robot.
If this cost is the same regardless of the type of robot,
then it is task dependent and will not affect the choice of
any robot over another. It may therefore be left out of the
analysis. Otherwise it is included in the analysis. In ei
ther case, these are costs that are incurred only once and
are carried over the rest of the productive life of the ro
bot. The cost will depend to some extent on the number and
similarity of tasks the robot is expected to perform. For
example, if the robot belongs to robot class 2, and it is
also expected to perform a pick and place task, then there
are two distinct tasks, involving two different end of arm
tooling requirements.
Let C]3 represent the initial cost of the basic robot r
unit, and C^ the cost of redesigning the workplace and mod-r
ifying the interface machines due to robot r. Then the to
tal investment cost CI;j , on robot r may be represented as:
I
CI^ = Cb ^ Cw - E (Ct )i ^ Cs > Ca 5.1 ^ r r i = i r r r
where,
CI^ = Investment cost for robot r
C = Initial cost of basic robot unit b r
C = Cost of workplace redesign due to robot r w r
C = Cost of special tooling and peripheral r
equipment for robot r
222
Cg = Installation and start up cost for robot r r
C^ = Planning and consultation costs for robot r r
I = The number of unrelated functions the robot
is expected to perform.
Overhead Cost (CH .)
Overhead costs are those costs that can not be charged
to the line of product the robot is used to manufacture.
These costs include cost of maintaining the robot, cost of
power and other special services for operating the robot and
taxes and insurance charges. The installation of automation
devices, especially robots, may result in the direct loss of
human operators. In some industries these personnel are re
trained for other jobs like robot programming and mainte
nance. And still in some others, due to certain labor con
tracts, they are retained in some capacity until attrition.
In this case personnel salaries are labor costs that are not
related to production, and are therefore overhead costs.
Let CH represent the total overhead cost for any robot r. r
Then,
CH^ = C^ - C * I (C ) . q 5.2 r r p=l ^r ' r
where,
CH = Overhead cost for robot r
223
^m ~ ^ ° ^ ^ °^ maintenance/year using robot r r
(about 5-10% of the cost of the basic unit {117})
C = Cost of power supply per year with robot r ^r
C = Cost of retraining maintenance personnel ^r
for robot r
C, = Cost of indirect labor r P = Number of personnel
As was discussed in Chapter 3, equipment reliabilities
are often correlated with equipment complexity. Therefore,
the more complex a piece of equipment is, the more expensive
it is to maintain. This is not always the case, however,
and the best source for maintenance data is through applica
tions experience. As of this writing no such data exist for
industrial robots. Estimates range from as low as 5% of
the cost of the robot basic unit to as high as 10% {117}.
The cost of power supply for robots can again be best
determined through applications experience. For those robot
systems that use all electric power units, this value can
usually be estimated using the KvA values quoted by the man
ufacturers. Depending on whether the robot syste.m will op
erate at full or half duty cycle, the power requirement C
can be estimated as: Pr
C = c (KvA)*(v)*(u) 5.2.1
where,
224
Cp = Cost of power supply ($/hr)
Cp = Cost /kilowatt hour of power ($/hr)
KvA = Kilovolt amperes
V = Number of hours the robot operates/day
u = Number of working days/year
For other types of robot drive systems the power re
quirement will be the sum total of the requirements for the
individual power components. Although there can be an all
electric robot drive system there can not be a robot that
does not use electric power directly or indirectly. A pneu
matically driven robot needs some form of electric power to
generate the air pressure. Determining the exact power re
quirement in this case becomes only more involved.
Production Cost (CP^)
This cost component is exceedingly important in light
of the very nature of robot systems. There are several
species of robots with varying types of operating capabili
ties. This cost is therefore a function of the robot's de
sign attributes. For example, programming method, geometric
configuration and number of coordinate axes vary from one
robot to another, and do affect the cost of using the robot
one way or another. Let the production cost of the robot be
denoted by CP .. If K represents the number of differer.t
225
products, then the setup time in hours due to these products
is defined as;
K Sv = Z s, 5.3 ^ k=l ^
Also if I represents the number of different tasks, then the
setup time due to these tasks is defined as;
I Si = E Si 5.3.1
i = l
Let S^ denote the total setup time for robot r, then S is r
defined as;
K I Sr = E S]^ + Z Si 5.3.2
k=l i=l
The differences in setup times from one robot to another is
a function of each robot's operational characteristics.
Some of these robot variables can be taken directly from the
robot coding system and are:
1. Robot class
2. Number of axes
3. Coordinate system
4. Programming method
5. Memory type
226
6. Memory capacity
7. Sensor technology
8. Diagnostics capability
9. Drive train
10. Work envelop
11. Number of grippers
Similarly, the differences in setup times from one task to
another is a function of the task complexity and can also be
taken directly from the coding system. Some of these are:
1. Applications code
2. Payload
3. Accuracy requirements
As was developed in Chapter 4, the lot sizes, cycle times
and other layout variables can also be estimated and used to
establish these differences. Different combinations of I
and K result in the following setup models.
Sr » Sj.;
I Sr « Z Si;
i«l
K
k«l
I K S_ « E s * Z s ^ i=l ^ k=l ^
if I - 1, K = 1,
if I >= 2, K =. 1,
if I « 1, K >= 2,
if I>»2, K>=2.
5.3.3
5.3.4
5.3.5
5.3.6
227
Another component of production cost is cost due to
direct labor on the pieces or parts produced. Let Qj denote
the demand per year for each product k, and t ^he cycle ^k
time per product (time it takes one component of a product
to enter and leave the cell; i.e., operating time plus han
dling time within the cell). Then the total cycle time for
the kth product is (t^*Q)]^. Therefore, the total cycle time
for K products is.defined as;
K t^ = Z <t *Q)j 5.3.7 ^ k=l
The total production cost is then defined as;
I K K CPr = bi( Z Si - Z s^) + h ( ^t^*Q)k 5.3.8
i=l k=l k=l
where h. is the hourly cost of labor at the setup shop, and
h^ is the hourly cost of labor for quality inspection,
transportation of parts from one machine to another, etc.
This is under the assumption that the robot is setup only
once during the analysis period. Otherwise, the production
cost is given by;
K K CP
^ 1 = 1 k = l •k=l ^
228
K h2< Z (t^*Q)k) 5.3.9
k«l
where qj is the lot size for each type of product, and the
(Q/q)) term of equation 5.3.9 is the number of times the ro
bot is setup per analysis period. Equation 5.3.9 can be
further analyzed and formulated to include the learning
curve of the setup personnel. For example, it would take
more time to setup the robot for the first time. However,
this time can be expected to decrease over the years as the
personnel garner more experience. For the purpose of this
study, only the terms of equation 5.3.8 will be used for the
production cost component.
Total Operating Cost (CT ,)
The total operating cost for using a robot can be taken
as the sum of all the cost components described above.
Therefore, if CT . represents the total operating cost incur
red by using robot r, then,
CTr - CIr - CHr * CPr 5.4
Substituting equations 5.1, 5.2 and 5.3.8 into equation 5.4
gives
CT = C, - C ^ Z (C. ). - C * r b w : _ i t i s r r 1=1 r r
C a r
229
P ^ ^ ^ Cp + z (c^ )p ^ q
r ^r p=i ^r ^ ^r I K K
^ hi( ^ s^ ^ Z Sj ) h2( Z (tc*Q)k) 5.4.1 i=l k=l k=l
The total operating cost due to robot r, is therefore
the sum of the costs due to investment, overhead and produc
tion. A robot is chosen if this total operating cost is
minimum compared to those of other robot candidates. Drop
ping the r subscripts, the robot selection problem can now
be formally stated as follows:
Minimize CT = CI -»• CP •»- CH 5.5
ST Y j + Z]^ <= Xi 5.6
where,
Xi = Descriptive variables for robot i
Y-j = Descriptive variables for task j
Zk = Descriptive variables for environment k
CT = Total operating cost
CI = Investment cost
CP = Production cost
CH = Overhead cost
CHAPTER VI
EVALUATION OF THE CARSP SYSTEM
Introduct ion
In order to demonstrate conveniently that the CARS?
system is a good alternative to the current trial and error
methods of robot selection, a series of verification proce
dures were undertaken. By definition, evaluation is the
process of determining the worth or validity of a method.
This process will be discussed subsequently in two parts.
In the first part, sensitivity analyses of the CARSP system
were conducted using statistical procedures. In the second
part, the ease of use and reliability of the CARSP system
were investigated. This part involved "users" who ran the
CARSP in an interactive mode.
Sensit ivity Analysis of the Selection Problem
Sensitivity analysis is used in most investigative
studies to observe the behavior of a proposed model when
subjected to random variates of the model parameters. Since
several robots will be subjected to the same model, the
immediate task for such a model would be to identify the
critical parameters of the competing systems vhich T.ay
230
231
affect future costs. The robot system that has the minimum
total operating cost while meeting the desired performance
demands will be chosen as best among the competing alterna
tives.
Ideally, the best method of carrying out this analysis
would be through some form of statistical analysis proce
dure. This approach will not only provide a strong basis
for analysis (since the problem can be varied and several
options studied) but a greater number of problems for each
model can be studied simultaneously. Two approaches were
taken for the sensitivity analysis as follows.
1. A main frame computer was utilized to conduct a sta
tistical sensitivity analysis using the beta distri
bution to estimate the total operating cost of the
robots, and
2. A sensitivity analysis was conducted involving
"users" working the CARSP system in an interactive
mode on a microprocesor. In this case the input data
was from actual cost data of robots in the CARSP sys
tem database. Given the possible range of cost val
ues for each robot the mean and standard deviations,
assuming a normal distribution, were calculated and
used for this analysis.
23 2
Probability Distribution
Robot systems vary in cost from a little under $2,000
for some table-top educational types to well over $650,000
for the most advanced industrial types {64,104}. Adding the
fact that the workplace may have to be redesigned to accom
modate the robot, and a probable need for special tooling
devices, a varied initial capital expenditure will therefore
be incurred. There is no empirical basis to define a spe
cific distribution for a robot's cash flow with certainty.
Some researchers of robotics {76,139} have, however, used
the beta distribution to solve the robot cash flow problem.
Because the exact values of the cost functions defined in
Chapter 5 are unknown, and the fact these cost values will
usually tend to concentrate around a central value, the beta
distribution was used in this study to estimate the expected
values of the mean and variance of the cost models of the
robot selection problem. One advantage of using the beta
distribution is that it has a flexible shape determined uni
quely by the mode m, and the two extreme values a and b.
For the beta distribution, the expected value of the mean
and variance for a variable T, is given by:
E(T) = (a + 4*m +b)/6, and
V(T) = {(b - a)/6}^
233
With this distribution assumed, the robot investment,
production and overhead costs are then given by their ex
pected values as:
E(CI) = (CI^ ^ 4*CI^+ CIb)/6 6.1
V(CI) = {(CI^ - CIb)/6}^ 6.2
E(CP) = (CPa + 4*CPni + CPb)/6 6.3
V(CP) = {(CPa - CPb)/6}^ 6.4
E(CH) = (CHa + 4*CHn, + CI%)/6 6.5
V(CH) = {(CH^ - CHb)/6}^ 6.6
The a subscript is the optimistic, m the most likely (mean)
and b the pessimistic estimates respectively. The expected
value and variance for the total operating cost for each ro
bot is given by:
E(CT) = E(CI) + E(CP) + E(CH) 6.7
V(CT) = V(CI) + V(CP) + V(CH) 6.8
Net Present Worth
Except for the investment cost, the cash flows calcu
lated above are expected to occur some time in the future.
In order that a common basis for comparison can be
established for the alternative robot models, the Net
Present Worth (NPW) of the cash flows was used. The NPW was
used because:
234
1. It recognizes the time value of money based on the
desired value of i,
2. The value of a given cash flow can be brought to any
given time frame, and
3. The present worth amount of a given cash flow is uni
que for a given value of i.
The Present Worth formula is given as:
n PW{i)j- -^E^(CT)rt(l + i)"^ 6.9
where,
PW(i)r » The present worth at an expected rate of
return i on robot r.
(CT)rt ' Total cash flow for robot r for the time
period t.
n « The number of time periods.
The expected NPW and variance is:
n E{(NPW)(i)_} « E(CT)^ * Z E(CT)^(1 > i T^ 6.10
0 - =1 ^^
V{(NPW)(i)r} » Z {V(CT)rt(l * i) 1 6.11 t=l
235
Statistical Sensitivity Analysis
Using the file of the robot codes and a random number
generator a database of 200 robots was created. In a random
number generator each number has an equal probability of oc
currence. Therefore, each level of an attribute in the cod
ing system has an equal probability of occurrence. These
code levels were then transformed into their probability
distributions {71}. As an example, the first attribute (Ro
bot-Class) of the coding system has 10 levels, therefore,
its frequency distribution is given by;
0.10 0.10 0.10 0.10 0.10 0.10 0.10 0.10 0.10 0.10
Similarly, the frequency distribution for attribute 4 with
only 3 levels is,
0.33 0.33 0.33
and so on.
These probability distributions were calculated for ail
40 attributes of the coding system, and then transformed
into their cumulative probability distributions {^1}. These
values are shown in Table 46 as a transposed matrix. The
columns, therefore, represent the levels of each attribute,
and the rows represent the 40 attributes used to describe
the coding system. The matrix entries Cij are the cumula-
236
TABLE 46
Cumulative Probability Matrix For Robot Codes
Code Level Values 00 10 20 30 40 50 60 70 80 90
1
A 3
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
T
T
R
I
B
U
T
E
N
U
M
B
E
R
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0.33 0.67 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.: 0 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
237
Table 46 Continued
Code Level Values
00 10 20 30 40 50 60 70 80 90
A
T
T
R
I
B
U
T
E
N
U
M
B
E
R
21 1
22 1
23 1
24 1
25 1
26 1
27 1
28 1
29 1
30 1
31 1
32 1
33 1
34 1
35 1
36 1
37 1
38 1
39 1
40 1
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.14 0.28 0.43 0.57 0.71 0.85 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.20 0.40 0.60 0.80 1.00
0.25 0.50 0.75 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.17 0.33 0.50 0.67 0.83 1.00
0.17 0.33 0.50 0.67 0.83 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
238
tive probability distributions of getting a value ] for at
tribute i. An "—" entry means that the given attribute was
not defined at the given level.
Generation of Codes for Robot
Database
A random number was drawn between the range 0 - 1 and
compared with those given in table 46 for the robot attri
bute under consideration. If the random number was less
than or equal to a given cumulative probability value of the
attribute under consideration, the attribute was coded with
the code level value corresponding to this random number.
For example, suppose that the code for attribute 21 were to
be generated and that the random number drawn was 0.456.
Then the code value for attribute 21 would be 40. Similar
ly, the code value for attribute 34 would be 20 if the same
random number was drawn. This process was continued until
all the codes for the 200 robots were generated.
Generation of Task Codes
Defining the Range of the Task Codes
Suppose for example, that a material handling task was
to be analyzed, and that the variables of the task are as
shown in Table 47. The first column of the table shows the
239
TABLE 4 7
Data for Studying Contributions of the Cost Components
MATERIAL HANDLING TASK
Code No.
Task Variables
Case A: 1/1/1 Case B: 1/1/4 Code Value
2
7
21
38
39
Application
Weight
Floor Space
Temperature
Hum i d i t y
Mtl. Handling
30 #
60 Sq. Ft
80
0 - 90^
Mtl. Handling
30 #
60 Sq. Ft
80
0 - 90%
= 80
30<W<=70
0<FS<=70
T> = 10
H> = 10
codes for these task variables, and the last column shows
the code values as:
CODE # 7 21 38 39
VALUE = 80 > = 30 < = 70 >=10 >=10
This code was found by a table look-up of the given
attributes as described in Chapter 3. Recall that the
coding system is made up of 40 attributes and that each
attribute has levels varying from 3 to 10. As an example
240
of the direction of the inequality signs. Table 47 indicates
that the maximum weight for any part is 30 lbs, or a code of
30. Therefore, the minimum lifting capacity for any candi
date robot is 30 lbs. In order to allow for possible future
part weight variations, a greater than or equal to sign is
employed. Robots with less floor space requirements than
are currently available are more desirable, therefore a less
than or equal to sign is used. Following the same reasoning
a greater than or equal to sign was used for codes 38 and
39.
Generation of the Task Codes
A string of codes for which the attributes of Table 47
apply was generated using the random number generator. This
code was then compared with those of the robots in the data
base to find those robots that can perform the task. The
code was discarded if no robot in the database could perform
the task. This process was continued until a task was gen
erated which could be performed by at least 2 robots in the
database. Table 48 shows the task code and the codes of the
robots in the database that could perform the task. The
task number of 36 means that 35 tasks were generated earlier
but resulted in an unsuccessful database search.
241
in
1-1
L
1 o 1 1 1
O o, 1
1 " 1 O 00
1 '-' rn 1 1 r-.
m 1
in 1
1 ' 1 1
m 1
'^ 1 fN '
n 1 r-1 '
' 1 o 1 ' 1
00 1
1
vo 1 fM 1 in 1
Si ^ \
P ^ 1 w 1 J ^ l H Q 3 1 r
^ 00 c H ^ 5 5 r- 1
VD 1
^ 1 ^ 1 S| 3 | ril ::JI o 1
1 ov 1
1 00 1
1 1 1
" 1 " • I - 1
§ ' 1 -1
o
o
o in o
o CO
o
o
O
O
o
o r-t
o CM
O VO
o 00
o r-t
o
O
n o r-t
o CM
3 o 3 <N ; o
< o t 0 0
o
o r-l
o
O
O i n
o 00
o r-i
o r-t
O
O
o
o
o
o
O 00
o 00
o
00
o
o
o
o m o
o
o
o
o VO
o
o i-t
o VO
o
o
o
o in
o
o m o r-t
o rH
O i n
o
o rri
O
O
o CM
O
o CM
O
o (N
O m
o n o
o VO
o r-t
o r-t
O
o CO
o r-t
r-t
o VO
o
o ft
o <N
o
o rn o
o in
o
o r-t
O t ^
O VO
o in o
o rH
O cn o CO
o
o 00
o CM
o CN
o
o r-t
o m o
o m o m o
o VO
o CN
o 00
o 00
o
o
o
o
o CN
o VO
o 00
o 00
VO
r-t
o CN
o 00
o
o
o
o fN
o r-t
o VO
o C7\
o CN
o CO
o
o VO
o
o
o m o VO
o 00
o m o
o
o
o <N
O r-t
O CN
O VO
o
o r-l
o in
o
o
o 00
o i n
o i n
o 00
o 00
o CN
o 00
o 00
o r-t
00 i n r^
o m o <JV
O
m o CN
o VO
o
o
o i n
o
o 00
o m o VO
o m o m o
O r-t
o CO
o r-H
o
o 1
o 1 r-l 1
O '
m o 1 00 1
o m 1 o in 1 O 1 rn o 00 1 o , oo o ,
o in o 1 CN '
o 1
o VO 1
00 1
C3 1 r-t 1
o 1 CTl
r-l
o 1
O , 00
° J s 1
242
To investigate how reliable the robot selection model
was in choosing the cost effective robot, a set of selection
criteria was. defined as follows:
1. Choose the robot with minimum total first period op
erating cost as defined by equation 5.4.1, and per
form a sensitivity analysis on the selection to de
termine how often the criterion selected the cost
effective robot, and
2. Choose a robot with minimum net present worth of a
projected life operating cost over a specified number
of future periods.
Generation of Cost Values
Except for the cost of the basic unit of each robot
which was determined by the value of code number 31, tne
costs for using each of these 5 robots were generated ran
domly using the variables of the cost components defined by
equations 5.1, 5.2 and 5.3.8. In order that these costs can
be properly attributed to the given robot, they were weight
ed using the codes of the robot attributes that are func
tions of the corresponding cost component. This approach
guarantees that two robots that have the same cost value for
a given cost component, but otherwise have different code
values, will have different cost functions for the purpose
243
of this analysis. To expound on this point, suppose two
robots had the following code values and that in generating
the setup time of the robots the same value of 2 hours was
CODES
1 . 12 13 . . 25 . 40
ROBOT #
66 30 . 20 40 . . 40 . 10
163 40 . 40 30 . . 30 . 10
returned in each case. Then by using the code value of co
ordinate system (code 12) and number of axes (code 13), as
weighting factors for the respective robots, weighted setup
times of 2*(coordinate system + number of axes + ...) hours
would result. In this example where only codes 12 and 13
were used, weighted setup times of 2*(2 + 4)hrs and 2*(4 ^
3)hrs would be used respectively for robots 66 and 163. Re
call that the robot coding system is a one digit one attri
bute system that was upgraded to a two digit one attribute
system in order to enhance the CARSP system software design.
Therefore, in using the coding system to calculate the
weighted values used in this study, the one digit version
was used. Robot codes-were used in this manner when the
production and overhead cost components were calculated.
244
The production cost of a robot, as defined on pages 224 to
228 is a function of several attributes of the robot. Some
of these attributes were identified as:
a) Robot Class: The lower the class code, (except 0
for Unspecified) the more expensive the robot will
tend to get. Therefore, as a weighting factor,
the reciprocal of this attribute was used. That
is, the weighting factor is inversely proportional
to the code number of the attribute.
b) Number of Axes: The more the number of axes, or
the higher the code for the number of axes, the
more expensive the robot will tend to get. There
fore, direct proportionality was used.
c) Coordinate System, Programming Method, and Memory
Type or Capacity all have direct proportionality
with the weighting factors and are, therefore, ap
plied directly.
Only these attributes were used for this study since they
are the most distinct attributes of a robot that could have
considerable impact on the cost of most robots. To simplify
the problem, a common value of h (hourly cost of labor) was
used in this analysis and was assumed to be $10/hr.
Before these cost functions were generated, however,
some restrictions on the values each component can take vere
made as follows.
245
1. The maintenance cost for any robot model must not be
greater than about 10% of the cost of the basic robot
unit. This is the value that has been cited by some
researchers {117}. Therefore, the value generated
for the maintenance cost for any robot was between 5%
and 10% of the values used for the cost of the ro
bot 's basic unit.
2. Setup times for any robot must not exceed 10% of the
uptime {117}. Therefore, the value generated for the
setup time on any robot was restricted to a value
which was between 5% to 10% of the total time needed
for the robot to complete the task. This total -com
pletion time was calculated as the total cycle time
of the products (lot size multiplied by the cycle
t ime).
3. Due to randomness, some robot codes will be zero.
For those codes that were used in weighting the vari
ous cost components, they must not be zero.
Suppose in generating the cost of power supply component of
overhead cost of the following robots that a value of 3 dol-
246
CODES
1 . . 25 . . 32 . 40
ROBOT #
25 30 . . 20 . . 30 . 10
37 40 . . 30 . . 40 . 10
lars was returned. Then the actual cost of power supply on
robot 25 would be 3(energy consumption + 1/drive train) or
3*(code 32 + 1/code 25). Substituting the actual values of
these attributes, the weighted costs of power supply would
be 3*(3 + 1/2) and 3*(4 + 1/3) dollars respectively for ro
bots 25 and 37. It is assumed here that an electrically
driven robot is more expensive to operate in terms of power
consumption, hence the reciprocal of the code for drive
train was used. In generating the code for drive train, for
example, it was, therefore, important to restrict the value
to a number other than zero.
Select ion Criteria
Minimum Operating Cost
The robots found from the above database search were
then subjected to the cost model of Chapter 5. The ccst_
components were generated randomly as explained earlier for
247
each of the cost components of equation 5.4.1 to find the
total operating cost for the five robots. These costs are
shown in Tables 49 and 50 for the cases A and 3 of the se
lection problem respectively. Using the minimum total oper
ating cost as the selection criterion, robot 146 was select
ed in case A and robot 158 was selected in case B.
TABLE 4 9
Minimum Total Operating Cost for Candidate Robots: CASE A
ROBOT #
84
137
146
158
168
CHOOSE RBT # 146
MIN
MIN
TOTAL OPTG. COST (00)
522
467
290
597
724
TOTAL OPTG. COST 290
248
Sensitivity Analysis; Mininimum Total Operatinq Cost Criterion
Although the values used for the above analysis were
generated randomly, it was still necessary to ensure that
there was little or no bias in the procedure. For example,
it can not be proven conclusively, based on only one set of
cost data, that the selections made above were correct to
TABLE 50
Minimum Total Operating Cost for Candidate Robots: CASE B
ROBOT #
84
137
146
158
168
CHOOSE RBT #158
MIN
MIN
TOTAL OPTG. COST (00)
18360
6089
12157
1210
8217
TOTAL OPTG. COST 1210
249
any degree of certainty. A change in the random number
generator seed could well have pointed to a different robot
as the cost effective robot in each case. To minimize this
possibility, costs were generated, as specified above, 1000
times and the selection rule exercised. A count of the ro
bot chosen at end of each run was kept and is shown in Ta
bles 51 and 52 for the respective cases. Column 2 of Tables
51 and 52 shows the values of the average minimum total op
erating cost for the 1000 test problems. Columns 1 and 3
show respectively, the robot number and the number of times
TABLE 51
Reliability of the Selection Criterion: CASE A
IRBT #
1 t
1 84
1 137
1 146
1 158
1 168
1 T
AVG(MIN TOTAL (00)
589.65
700.41
361.36
562.56
946.14
COST) 1 1 NO JMIN 1 1
A. T 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1
1 . OF TIMES 1 COST CHOSEN 1
1 1 1. T 1
133 1 1
82 1 1
670 1 1
95 1 1
20 1 1
PERCENT
13.30%
8.20%
67.00%
9.50%
2.00%
+
250
TABLE 52
Reliability of the Selection Criterion: CASE B
I RBT # I AVG(MIN TOTAL COST) I NO. OF TIMES I PERCENT I I I (00) IMIN COST CHOSEN I I I I I I I I 1 ^ ^ ^ I I I I I I 84 I 1 1 6 4 7 . 9 8 I 35 I 3.50% I I I I I I I 137 I 5 2 6 2 . 7 0 I 200 I 20.00% I
146 I 6 7 4 0 . 1 3 I 125 I 12.50% I 1 I
158 I 3 0 5 1 . 7 4 I 545 I 54.50%
168 I 6 9 2 6 . 3 7 I 95 I 9 . 50 o.
it was chosen as the cost effective robot during the 1000
times this criterion was exercised. Column 4 shows this
number as a percent of 1000. The cost effective robot in
each case, defined earlier as that with the minimum total
operating cost, was chosen 67% and 55% of the time in the
respective cases.
Net Present Worth
The cost components generated in the preceding section
were the first operating period costs for each robot. In
using the minimum total operating cost criterion the deci-
251
sion to choose any robot was based only on the data generat
ed for this first period operating cost of the robots. A
sensitivity analysis was then conducted to investigate the
reliability of this selection criterion in choosing the cost
effective robot.
Another variation of the above decision model is the
net present worth (NPW) amount of future costs of the ro
bots. As discussed earlier, incorporation of NPW in a deci
sion model has been used a great deal because it recognizes
the time value of money based on the desired minimum accep
table rate of return (MARR) i, the value of a given cash
flow can be calculated over any given time frame, -and the
present worth amount of a given cash flow is unique for a
given value of i.
Conditions of Test
Three cost values were generated, for each cost compo
nent of equations 5.1, 5.2 and 5.3.8, for each robot. These
cost values were assumed to be the optimistic (C ), most
likely (C2) and pessimistic (C3) costs of the cost component
under consideration, so long as the optimistic and
pessimistic costs were within 20% of the most likely cost.
This range is consistent with the range of costs on robot
units quoted in some literature {135}. The respective
252
costs (optimistic, most likely and pessimistic) were then
summed in order to obtain the corresponding optimistic, most
likely and pessimistic costs for each robot's cost equa
tions. As an example, summing the optimistic (C^), most
likely (C^) and pessimistic (C ) cost components for invest-
ment cost (CI) resulted in three investment cost values
(CI ,CI ,CI, ) for each robot. Three cost values were calcu-a m D
lated in this manner, for each robot, for other cost equa
tions of Chapter 5 (overhead and production costs), for a
given test period. The first condition of these cost values
(Table 53) was of the form
c, <= C^ <= C^. 1 2 3
If C =C =C , then equality constraints apply and it is known
for certain what the values of the cost components are. If
C <C <C. , then strict inequality constraints apply in all
cases and it is not certain what the values of the cost com
ponents are. However, it is known that this value varies
between C and C .
The expected values and variance of the total operating
cost were calculated for each robot by applying -the
corresponding values of the cost components of equations 6.1
to 6.8 to equations 6.10 and 6.11, and the PW amount was
calculated using equation 6.9. The total operating cost for
TABLE 53
Test Conditions
253
1. Cj<=C,<=C3
2. Expected MARR on Investment = 30'
3. Number of test periods = 5 years
each of the candidate robots for the five year test period
are documented in Tables 54 and 57 (pages 254 and 259 re
spectively) for the respective cases of the robot selection
problem. The expected values of the total operating costs
and variance of the total operating costs are shown in Ta
bles 55 and 58 (pages 255 and 260 respectively), and the ex
pected net present worth and variance of the net present
worth amount for the respective robots are documented in Ta
bles 56 and 59 (pages 256 and 261 respectively).
Utilizing the NPW criterion, the cost effective robot
(robot 146) was chosen in case A. In case B, however, uti
lizing the same NPW criterion robot 168 was chosen rather
than robot 158 (the cost effective robot). According to
Knott and Getto {76}, however, the general decision making
process with the net present worth procedure is to select
254
TABLE 54
Projected Total Operating Costs for 5 Year Period: CASE A
1 Total
IRBT # 1 t I 1 1 la 1 84lm 1 lb 1 1 1 1 1 la 1 1371m 1 lb 1 1 1 1 1 la 1 1461m 1 Ic 1 1 1 1 1 la 1 1581m 1 Ic 1 1 1 1 1 la 1 1681m 1 lb ! 1
. Costs
0
906 923 965
1734 1857 2000
922 951 976
1340 1396 1446
2454 2497 2635
(Beta
1
1046 1116 1164
635 668 691
699 705 785
685 703 757
991 1046 1114
Distr.)
2
1355 1405 1461
865 895 943
727 751 842
841 891 963
1121 1167 1218
For Prds.
3
1500 1587 1604
776 812 832
563 579 594
764 767 860
1062 1130 1156
Indica
4
1358 1427 1497
641 672 704
700 736 769
705 735 737
866 898 947
ted (00)
5
1123 1180 1268
641 690 725
783 861 882
872 935 1013
744 771 833
+
"first the systems with the lowest E(NPV), followed by com
parison of their respective V(NPV)" {p. 164}. Using these
guidelines, the following decisions can be made from the
results of Tables 56 and 59.
255
TABLE 55
Expected Total Operating Costs for 5 Year Period: CASE A
I -
E(CT) and V(Cr) For Periods Indicated (00)
RBT #
r
84
137
146
158
E(CT)
V(CT)
E(CT)
E(CT)
v(cr)
E(CT)
V(CT)
168
. _ 1_
1
927 1112 1406 1575 1427
9662 38651 31187 30032 53638
1860 666 898
V(CT) 196514 8704 16900
950 717 762
8100 20534 36710
1395 709 894
809
8704
578
2662
782
672
11025
735
31187 14400 41330 25600
730
2840
1185
58370
687
19600
851
13225 27225
937
55225
E(CT) 2512 1048 1167 1123 900 776
V(Cr) 90962 42025 26114 24523 18225 21992
1. In c a s e A r o b o t s 137 , 146 and 158 were s e l e c t e d s i n c e
t h e y had the l o w e s t E(NPW), wi th robot 146 having the
l e a s t E(NPW). Comparison of t h e i r V(NPW) showed t h a t
the E(NPW) for the c o s t e f f e c t i v e robot v a r i e d the
l e a s t .
256
r
^ f
I- +
00
o
VO to H CN iH rsi
CM
ro
ro ro 00 ro VD
O 00 00 ro ro
<7\ VO ro
o o
cvj
o ro ro ro
ro
o in
-1
H m
o
ro
CN
r-i ro
VD
ro 00
in in 00
M
r
ro CM
in
in VO
CNJ CM VO
iH
o
o
00 CM CM
CM VO VO
in 00
in ro CM
00 VO ro
ro in
CM
in
o VD 00
CM
in ro
ro o 00 r-i
iH
o in
in
in VO
CM CM
in CM
ro VO CN
o in
in in
o in <T\
r-i
CM VO
in in
ro in 00 CM
o in rH CM
o o rH 00
CM in CM
in in CM
in in ro
00 CM in
in
in
in cr> ro
in o o
00
ro
ro o ro in
o
o CM in 00
00
ro
cr> o CM
in r-t ro
in
o
VO
VO o 00
CM r-i m CM
in
in
ro CM CM
o 00 o in
ro
r-i
VO VO 00
CM
CM VO (y\ o as
U U W H
00 ro VD 00
in 00 VO
i 1
J
257
Since earlier investigation (minimum total
operating cost for first period criterion) and the
current E(NPW) criterion pointed to the same robot as
being cost effective, it was concluded that robot 146
was the target robot. Robot 146 was therefore cho
sen.
2. In case B, robots 84, 158 and 168 were selected as
having the lowest E(NPW), with robot 168 exhibiting
the least E(NPW) value. Comparison of the robots'
V(NPW) also showed that the E(NPW) for robot 168 var
ied the least. Robot 168 was therefore chosen. The
fact earlier analysis favored robot 158 and the NPW
analysis favored another robot suggested that more
analysis was needed before any of the two robots
could be chosen as the cost effective robot. This
could be done by using a longer planning horizon or
different MARR values.
From Table 57, based on the first period costs of the
respective robots, it was quite obvious that robot 158 was
the cost effective robot, as was shown by the previous se
lection criterion. However, the cash flow for the robot
revealed that the robot became quite expensive to use in
future years. This points up the need for projecting the
expected life of the robot and its operating costs over -. 1. i)
258
time. The NPW also shows the influence the MARR value can
have. In the example if the MARR had been a value other
than 30, robot 158 may have had the lowest total operating
cost over its life even though production costs did increase
over time.
Given that the two selection criteria discussed here
selected the cost effective robot majority of the time, it
was concluded that the robot selection model as discussed in
Chapter 5 was stable and appropriate for the robot selection
problem.
Finally, it is important to comment on the cost values
for the robots shown in Tables 54 to 59. These' values are
estimates used to help in arriving at a decision, and may
not necessarily represent a real life situation. The inter
est in using predictive models is in their ability to help
the user make the right decision rather than in their abili
ty "to calculate exact but uncertain monetary values for the
alternatives, particularly if those exact values have no
utility at some future time period" {71, p. 164}.
TABLE 57
259
Projected Total Operating Costs for 5 Year Period: CASE 3
84
137
146
158
168
a m c
a m c
a m c
a m c
a m c
146699 160716 164168
175476 180824 196945
145103 165875 166025
33269 34934 39023
159581 159924 161377
150892 152257 152890
130209 136437 143565
122212 122424 134653
28317 28613 30516
129402 152276 135799 171627 138614 172904
176448 104547 193825 112312 196421 124359
71842 115557 73022 127235 81626 130165
99772 113578 118005
43064 47033 47272
154706 127020 173185 147020 173766 147509
100474 101343 117977
21915 23300 24718
115827 172004 128988 181860 135275 191396
84157 136285 88551 140849 94824 157081
90296 94542 103998
182344 182784 190855
142155 143346 167934
145003 149712 173009
77290 80377 90857
260
r T in
ro
CM
>-» o
o rH ^ in VO
r-i r-i ^ VO ^
^ fH O CM rH H
VO CM ^ ^ CM H
in ro rH CM in r-i
in in as 00 in rH
as 00 o CM iH CM in
r-^ o •^ rH as ^
^ ^ ^ as as CM CM as
as CM ro r* a\ CM
as 00 00 o iH r-i
r-i CM as ro l^
00
in in o •^ 00 r-i
00 VO p^ ro ""I" H
CM o CM o r>-rH
o 00 00 00 CM
r 00 in VO ro rH
as as r-i VD CM 00 r-i
^ CM r» o fH o CM
VO as ro in in
116
VD r as VO 00 o o H
VO in as ro ro rH
VO r o in in as
^ 00 o CM o CD CM
in 'T CM r rr fH
in o ro ro r-i
o r as ro o r-i
^ fH VO 00 VO rH
CM O CM in ro iH
00 ro ^ CM VO fH
VD fH VO in in ^ 00 fH
as oo o 00 rH CM
as 00 00 00 o in 00
^ ^ 00 as cH 811
in CM CM VO in ro CM
as VD iH as in fH CM
O rH 00 CM in rH
VD O 00 fH 00 fH
CM ^ 00 r> CM fH
in CM o ro iH fH
fH VO ro rH as fH
00 ro ro in ro
as 00 00 o 00 r n ^ CM 00 in ^
104
fH 00 O ^ o in o fH
** o CM ro o
109
^ 00 in in r
110
fH 00 VO as r-i as
as o VO fH 00
ro as t^ CM "er fH
^ VO 00 00 00
r» r r in CM r-i
as in CM ^ r»
as o fH o VD r-i
r-i CM r-i CM fH fH in
VO in rH ro fH
120
as CM r-r in r-i ro
VO in ro ^ CM as in
o o as VO in VO CM
r-i O '^ as 00
"1
ii ii ii ii ii pq> ^ > 5 > W > W >
L 00
I ro
VO 00 00 VD
J
261
262
Sensitivity Analysis; Interactive
Mode
Having shown that the cost models of the robot selec
tion problem were stable in selecting a robot, what remained
to be done was translate these formulas into an interactive
software code. The formulas for the computer aided robot
selection procedure (CARSP) was coded in the Beginner's
All-Purpose Symbolic instruction Code (BASIC) using an Os
borne Executive Computer. The Osborne is a CP/M (Control
Programming for Microprocessors) based personal computer
with 128 kilobytes of random access memory (128K RAM) and
two disc drives. The CARSP system software can, therefore,
run on most CP/M based computers with a minimum of 128K R; >1
and two disc drives.
The whole CARSP system BASIC codes with its supporting
files is about 5,000 statements long, and as a result, it
could not be documented in this dissertation. These source
codes and their compiled version are available at the Texas
Tech University Industrial Engineering Department. Inter
ested readers can contact the Department for further
informat ion.
In evaluating the CARSP system in an interactive mode
the following items were tested by thirty students drawn at
random from the Texas Tech University student body.
263
1. System Reliability (consistency in selecting the cost
effective robot), and
2. System User-Friendliness.
Summary of Test Results
The reliability of the system was tested to check how
consistently it selected the same robot using the same tas:-<
variables. The subjects were given the task variables docu
mented in Appendix C and asked to select a robot for the
task using the CARSP system.
Ninety percent (90%) of the subjects reported the same
solution for the test problem. One hundred percent was ex
pected, however, and it was realized that some of the sub
jects had either entered the problem data incorrectly or in
advertently used the variance, rather than the expected
total cost of the robot as the decision criterion.
One of the reasons for the above discrepancy, according
to the subjects, was that the problem information was not
explicit enough in describing the CARSP system procedures.
Following the subjects' experience and suggestion, a user
manual describing a step by step procedure for the system
was written. This manual is documented in Appendix 3.
Using this documentation, another set of subjects were
selected and resulted in a 100% solution responses for the
264
example problem. In an evaluation study with the following
responses on user-friendliness: no opinion, strongly disa
gree, disagree, agree and strongly agree, twelve of the sub
jects (40%) strongly agreed that the CARSP system was user-
friendly, 50% agreed, and the rest had no opinion.
For those subjects who have had experience with inter
active systems, 67% of them rated the CARSP system as user-
friendly as some of the systems they have used before.
As of this writing, there was no known interactive
software system available for the equipment selection prob
lem. It was therefore impossible to compare the CARSP sys
tem to any equivalent systems.
One of the major advantages of the robot coding system
was that it represented robot information in a compact form.
The 40 attributes used to describe robots in the study var
ied from twelve characters (for example, "PAYLOAD 5LBS," has
twelve characters) to more than thirty characters (for exam
ple, "MEAN TIME BETWEEN FAILURE 400HRS" has thirty two char
acters) per attribute if described in words. For a typical
robot these characters averaged about twenty for each attri
bute. However, in code form only two characters were used
for each attribute. Coding, therefore, improved the disc
storage space of the computer by a factor of about ten
(20 T 2) .
CHAPTER VII
CONCLUSIONS
Introduction
The main objective of this study was to develop an ef
ficient algorithm that could offer the potential robot user
a tool to help him better arrive at decisions when selecting
robots for a given operation. The procedure for attain
ing this objective was outlined in the previous chapters of
the study. The purpose of the present chapter was to summa
rize the results on the study, draw conclusions based on its
findings, and to suggest possible areas for further research
on the selection problem.
Summary of Research and Conclusions
The use of a coding and classification system in robot
ics was investigated and found to offer many advantages to
ward solution of the robot selection problem. The robot
coding system (ROBOCODE) developed in this study provided a
standard basis for categorizing and comparing robots. The
information on a robot which usually took several pages to
document could be represented with one line of cede for
faster and easier comparison. The coding system is semi-
265
266
polycode structured and was readily computerized for easy
storage and retrieval of information on robots.
Robot design attributes are made up of three basic
units (power, mechanical, controller) and can be divided
into two major categories of static and dynamic components.
The study found that even though more than one hundred at
tributes have been used to describe robots, forty was more
than adequate. In reviewing more than one hundred robots
currently in the market, it was found that some attributes
have very high frequency of use in describing robots while
some have very low frequency of use. The study found, for
example, that very few manufacturers provided a mean time
between failure data for their robot systems. This suggest
ed that either the manufacturer has not been in the business
of manufacturing robots long enough to have these data or
just does not provide them in their product literature.
Searching a robot database with the most frequently used ro
bot attributes revealed that the number of robots found de
creased as the number of attributes increased, and when 25
attributes were specified for the search, the number of ro
bots found was 0 (zero).
The ROBOCODE was designed from the viewpoint of the
robot user rather than that of the robot manufacturer. The
goal of the ROBOCODE system was a user oriented computer-
267
aided robot selection procedure (CARSP). The CARS? system
is interactive, and the software design showed that the ease
with which the vast amount of data on robots, and the number
of robots, could be handled was limited primarily by the
disc storage space of the computer rather than the computer
memory. Coding and classification was found to augment this
storage space by a factor of about ten. Some of the unique
features of the CARSP system were the ease with which a ro
bot could be added to, deleted from, and updated in the
database. These features overcame the need for the user to
be highly literate in computer programming or usage in order
to understand the CARSP system mechanics.
The research showed that a similar coding system as de
veloped for robots could also be developed for tasks, and
that in so doing, a more effective matching procedure could
be established between robots and tasks. It showed that
some task variables, for example, lot sizes, cycle times and
certain layout dimensions could not be directly matched with
any of the forty robot attributes.
The study found that the necessary condition for se
lecting a robot for a given task, defined as the requirem.ent
that the robot codes be as good as or superior to the
corresponding task codes was insufficient -since it was
usually satisfied by several robots. However, this
268
condition provided a rapid method for generating a set of
feasible robots from the database. Under the classification
system of the CARSP system this set of feasible robots con
stituted a subgroup for the task specified.
A measure of performance established for the robots
based on a probablistic total operating cost functions al
lowed for a fast comparison of a range of robot costs. In
an evaluative study of the selection problem, a set of se
lection criteria was defined in order to investigate the
stability of the selection model in choosing the cost effec
tive robot. These selection criteria were the first period
minimum total operating cost of the robot, and the net pres
ent worth amount of a cash flow of total operating cost for
the competing robots. The results from the experimental
study showed that the robot selection model developed m
this study was fairly stable in predicting the cost effec
tive robot from among the competing alternatives. For the
one machine, one type of operation on one type of product
(1/1/1) type robot selection problem, the model predicted
the cost effective robot 67% of the time, and 54% of tne
time for the one machine, one type of operation on different
product mix (1/1/K) type robot selection problem. Using a
NPW selection criterion, however, an alternative robot was
selected for the 1/1/K model. An examination of the cash
269
flow for these robots showed that the robot selected using
the previous criterion had a low minimum operating cost for
the first period, but that this cost got excessively high in
later years. This result showed the importance of studying
equipment costs over a range of period. For an equipment
that is expected to last for a very few number of years
(e.g., one or two), the first selection criterion (choose a
robot that has the lowest total operating cost in the first
period) will be adequate since it was found to be fairly ac
curate in selecting the cost effective robot based on the
first period cost of its minimum total operating cost. How
ever, as the number of years increase and'the time value of
money become critical, the net present worth criterion
should be considered. These test results stressed the im
portance of treating each robot environment as uniquely as
possible. When different decision variables were involved,
as in the two robot selection models, there was no guarantee
that the decision in one environment can be adequately ap
plied in the other. Therefore, different manufacturing
firms exploring robot application areas should not try too
hard to model their problems after another company's
solution to a similar problem.
The difference between the 1/1/1 and the 1/1/4 robot
selection models used in the example is that in ne : 1 rst
2-0
model only one product was manufactured while in the second
model four products were manufactured. Since the production
cost equation is a function mainly of the number of opera
tions and the number of products, and the setup time a func
tion of the these variables, cost values in the 1/1/4 model
was noticeably larger than in the 1/1/1 model. These cost
differences could be part of the reason another robot (robot
168) was chosen in the 1/1/4 model when the NPW criterion
was used, hence the importance of considering setup times
due to individual operations and products when modeling ro
botic systems.
Recommendations for Future Research
Increasing use of robots in the manufacturing industry
means that more research questions will be asked of re
searchers interested in automation. The present study only
attempted to answer one such question 'how can I best choose
a robot for a given task.' In trying to answer this question
the study opened up more questions and avenues for research.
These questions and avenues are now discussed.
1. It was noted in Chapter 3 that for a robot coding
system to be complete, it should include both the design and
production aspects of robotics. Because the present study
was robot user oriented, only the design aspects of robots
2 1
were considered in the present coding system. A separate
study should be undertaken to investigate the possibility of
developing a coding system, or extending the present coding
system, to include production aspects in robotics, for exam
ple, lot sizes, manufacturing lead times and materials.
2. With increasing development and use of computers,
almost all aspects of manufacturing can now be computer con
trolled. Of interest here is design. Computer aided design
(CAD) is an ever increasing popular tool in manufacturing,
and it would be interesting to investigate the possiblility
of using the robot coding system developed in this study to
form a CAD database for robots. The robot chosen for any
task can then be generated using its CARSP system codes.
The actual task environment with the machines and other
structures can also be generated and a stress analysis of
the robot carried out to evaluate the robot's performance in
real time.
3. A user-friendly CARSP system could be developed to
permit the user to develop his own cost equations. This
system would enhance the flexibility of the CARSP system
since the user could readily tailor the model to his system
and criteria to evaluate robots which would fit his
particular operational needs. The net present worth selec
tion criterion and the total minimum operating cost
272
criterion could be modelled into this system to enable the
user to determine the cutoff year for using either criterion
for robot selection in a given environment.
An alternative solution procedure for the robot selec
tion problem could be goal programming. Considering the
fact that the decision criterion for choosing one robot over
another could be based on factors other than economy, goal
programming (or multiple objective programming) may give a
broader insight to each robot's ability to satisfy different
decision criteria.
4. Coding and classification techniques have been
studied and used extensively in the metal working industry
to alleviate some information management problems of manu
facturing. The present study explored the use of this tech
nique in selecting robots. The technique and the general
CARSP system methodology could be used for any other selec
tion problem, for example, cutting tool selection. With
cutting tool species and grades at least as varied as ro
bots, it will make for a good researh problem to develop a
similar selection procedure for cutting tools. Although the
technique of coding as discussed and used in this study has
been centered in the manufacturing industries, it is not
limited to this environment, nor should it be. It is
recommended that a similar studv be done for other
273
desciplines, as, for example, medicine: for some over-the-
counter drugs; the computer industry: for-example, personal
computer selection, etc.
5. It was shown in Chapter 4 that the number of robots
found in the CARSP system database decreased as the number
of constraints increased. It was also shown that the number
of robots found when searching the database with the attri
butes most frequently used in describing robots was 0 (zero)
when as many as 25 attributes were used to specify the ro
bot. Different values of these attributes resulted in a
different number of robots being found. Although 40 attri
butes were used in designing the robot coding system of this
study, the results tended to suggest that maybe this number
was even too high. Since the number of robots found when
using the best possible case (most frequently occurring at
tributes) was zero by the time 25 attributes were specified,
it is likely that the appropriate number of attributes need
ed for describing robots is in the neighborhood of 25. More
study is needed to determine what this exact number should
be.
REFERENCES
1. Abou-Zied, Mohammed Raafat, "Group Technology and the Manufacturing Systems of the Jobshop." Industrial Engineering, Vol. 7, p. 32, May 1975.
2. Andeberger, R., Cluster Analysis for Applications, Academic Press, N.Y. 1973.
3. Arn, E. A., Group Technology, Springer-Verlag, N. Y. 1975.
4. Ayres, R. U., et al., "An Economic Assessment of Sensor Based Robot," Tenth Conference on Production Research and Technology, NSF, P-128, pp 183 - 189, Detroit, MI., 1983.
5. Backer, Eric, and Jain, Anil K., "A Clustering Performance Measure Based on Fuzzy Set Decomposition." lEEE-PAMI, Vol. 3, No. 1, Jan. 1981.
6. Bakanau, Frank E., "Implementation and Maintenance of a Parts Coding and Classification System," Proceedings of CAM-I's Seminar on CAPP Applications, P-77-PPP-01, pp 6 - 20, CAM-I, Arlington, Texas, 1977.
7. Barnes, Ralph H., Mot ion and Time Study Design and Measurement of work, John Wiley and Sons, N. Y. 1980. 2nd Edition.
8. Bennet, John L. , Building Effect ive Decision Support Systems, Addisson-Wesley Publishing Co., Reading, Massachussets, 1983.
9. Bergen, Jay H. , "Parts Classification as a Basis for Programmed Process Planning." HERTEC Corporation, 1975.
10. Birk, John R., et al., "An Orienting Robot For Feeding Workpieces Stored In Bins." lESE Transact ions on Systems, Man and Cybernatics, Vol. SMC-II, No. 2, Feb. 1981.
11. Bobrowicz, Vincent F., "Group Technology Classification Systems," Proceedings of CAM-I's Coding and Classification Workshop, P-7 5-PPP-01, pp 31 - 10 4, C.\.M-I, Arlington, Texas, 1975.
274
2-^5
12. Bonner, R. E., "On Clustering Techniques." IBM Journal, Jan. 1964.
13. Bullers, William I., Nof Shimon, Y. and Whinston, Andrew B., "Artificial Intelligence In Manufacturing Planning And Control." AIIE Transactions, December 1980.
14. Burbidge, John L., "Production Flow Analysis," The Production Engineer, Vol. 42, No. 12, 1963.
15. Burbidge, J. L., "Production Flow Analysis," Production Engineer, Vol. 50, p 139, 1971.
16. Burbidge, John L., "AIDA and Group Technology," Int. J. of_ Prod. Res. , Vol. 11, No. 4, pp 315-324. 1973.
17. Burbidge, John L., The Introduction of Group Technology, Heinemann, London, 1975.
18. Burbidge, John L., Group Technology in the Eng ineer ing Industry. Stephen Austin, England 1979.
19. Burbidge, John L., "A Manual Method of Production Flow Analysis," Production Engineer, Vol. 56, No. 10, Oct. 1977.
20. Buzacott, J. A., and Shantakuman, J. G., "Models for Understanding Flexible Manufacturing System," AIIS Transact ions, December 1980.
21. Carrie, A. S., "Numerical Taxonomy Applied to Group Technology," Int. J. oj; Prod. Res. , Vol. 12, No. 4, 1974.
22. Cox, D. R., "Note On Grouping," American Statistical Journal, Dec. 1957.
23. Dallas, Daniel B., Tool and Manufacturing Engineers Handbook, SME. 20501 Ford Rd., Dearborn, MI. 19~b.
24. DeBeer, C., and DeWitte, J., "Production Flow Synthesis," Annals o^ CIRP, Vol. 27, p. 389, 1978.
25. Dedich, W. I., Soyster, A., and Ham, I., "The Optimal Formulation of Production Group Flowlines," Proceedings of NARARA-111, Second North American Metal Working Research Conference, 1974.
2 6
26. Desai, Dilip, T. I., "How One Firm Put A Group technology Parts Classification System Into Operation," Industrial Engineering, Vol. 13, No. 11, pp 78 - 36, 1981.
27. De-Witte, J., "The Use of Similarity Coefficients in Production Flow Analysis," Int. J. of Prod. Res., Vol. 18, No. 4, 1980. ~
28. Dewhurst, P., Boothroyd, G. and Motherway, J., "Economic Application of Robots to Automatic Assembly," Tenth Conference on Production Research and Technology, NSF, P-128, pp 123 - 128, Detroit, MI., 1983.
29. Doyle, Lawrence E. et al., Manufacturing Processes and Materials for Engineers, Prentice-Hall, Inc., Englewood Cliffs, N. J. 1969.
30. Eckert, Roger L., "Codes and Classification Systems," American Machinist, Dec. 1975.
31. Eckert, Roger L., "Coding and Classification System Overview and Comparison," Proceedings of CAM-I's Seminar on CAPP Applications, P-77-PPP-01, pp 21 - 51, CAM-I, Arlington, Texas, 1977.
32. Edwards, G. A. B., "The Family Grouping Philosophy," Int. J. of; Prod. Res. , Vol. 9, No. 3, 1971.
33. El-Essawy, I. L., and Torrance, J., "Component Flow Analysis-An Approach to Production System Design," The Production Engineer, Vol. 52, No. 5, May 1972.
34. El-Midany, T. T. and Davis, B. J., "AUTOCAP - A Dialogue System for Planning the Sequence of Operations For Turning Components," Int. J. Mach. Tool Des. Res., Vol. 21, No. 3/4, pp 175 - 191, 1981.
35. Elgomeyel, Y. I., "Group Technology and Computer Aided Programming for Manufacturing," SME, 20501 Ford Road, Dearborn. MI. 48128. 1973.
36. Engelberger, Joseph F., Robotics j^ Practioe, AMAROM, 1980.
37. Eskicioglu, H. and Davis, 3. J., "An Interactive Process Planning System for Prismatic Parts (ICAPP)," Int. J. Mach. Tool Des. Res., Vol. 21, No. 3/4, pp 19 3 - 206, 1981.
38. Everitt, Brian, Cluster Analysis, Halsted Press, N. Y., 2nd Ed., 1980.
39. Fisher, Walter D., "On Grouping for Maximum Homogeneity," American Statistical Assoc. Journal, December 1958.
40. Gallagher, C. C., Southern, G., and Knight, W. A., Group Technology, Butterworths, London 1973.
41. Gallagher, C. C., and Abraham, B. L., "A Factory Component Profile for Group Technology," Machinery and Production Engineering, Vol. 28, Feb. 1973.
42. Gombiniski, J., "Fundamental Aspects of Component Classification," Annals of; CIRP. , Vol. 27, 1969.
43. Grandjean, E., Fitting the Task to the Man: An Ergonomic Approach, Taylor and Francis Ltd., London 1981.
44. Grayson, T. J., "Some Research Findings On Evaluating the Effectiveness of Group Technology," Int. J. of Prod. Re^., Vol. 16, No. 2, pp -89-102, 1978.
45. Groover, Mikell P., Automation, Production Systems, and Computer Aided Manufacturing, Prentice-Hall Inc., Engelwood Cliffs, NJ. 1980.
46. Gudnason, C. H., and Sant, K. L., "A Matrix System For Production Management-A Description and an Application," Int. J. qf_ Prod. Res. , Vol. 16, No. 6, po 497-508, 1978.
47. Gupta, J. N. D., "Economic Aspects of Scheduling Theory," Unpublished PhD Dissertation in Industrial Engineering, Texas Tech University, Lubbock, Texas, 1969.
48. Gupta, N. D., and Dudek, Richard A., "Optimality Criteria for Flowshop Schedules," AIIS Transact ions. Vol. 3, No. 3, Sept. 1971.
49. Gupta, Rajiv M., and Tompkins, James A., "An Examination of the Dynamic Behaviour of Part-Families in Group Technology," Int. J. oj; Prod. Res., Vol. 20, No. 1, pp 73-86, 1982.
278
50. Ham, Inyong, "Introduction to Group Technology" Proceedings of CAM-I's Coding and Classificarion Worksiio£, P-75-PPP-01, pp 25 -"90, Arlington; Texas, ly /b ,
51. Harmon, Leon D., "Automated Tactile Sensing," Int. J. Robotics Res., Vol. 1, No. 2, ISSN 0278 - 36497~pD 3 -32, 1982. '
52. Hartigan, J. A., Clustering Algorithms, John Wilev i Sons, NY. 1975.
53. Hartigan, J. A., "Consistency of Single Linkage for High-Density Clusters," J. oj; the American Stat. A^soc., Vol. 76, No. 374, June 1981.
54. Hasegawa, Yukio, "New Developments in the Field of Industrial Robots," Int. J. of Prod. Res., Vol. 17, Mo. 5, 1979. ~
55. Hertwick, Gerald, "An Equipment Selection Methodology for Job-Shop Design," Unpublished PhD Dissertation in Operations Research, University of Massachussets, Amherst, Mass., 1976.
56. Houtzeel, Alexander, "An Introduction to the MICLASS System," Proceedings of CAM-I's Seminar on CAPP Applications, P-75-PPP-01, pp 159 - 178, CAM-I, Arlington, Texas, 1975.
57. Houtzeel, Alexander, "Classification and Coding: 'A Tool to Organize Information'," Proceedings of IRSAPS Technical Sympos ium, pp 457 - 480, San Diego, Ca. , September, 1982.
58. Huchingson, R. Dale, New Horizon for Human Factors i n Design. McGraw-Hill Book Co., 1981.
59. Hyde, W. F., "Helping Management to Manage Better Through Classification and Coding the Data Base," Proceed ings of CAM-I's Coding and Class i f icat ion Workshop, P-77-PPP-01, pp 2 - 51, CAM-I, Arlington, Texas, 1977.
60. Hyde, W. F., Improving Productivity by CLASSIFICATION, CODING, AND DATA BASE STANDARDIZATION, Marcel Dekker, Inc., New York, 1981.
279
61. Irtem, Ali, "Conscious Robots In Industries," Proceedings of the 7th International Symposium on Industrial Robots. October, 1977.
62. Ito, Yoshimi, and Shinno, Hidenori, "Structural Description and Similarity Evaluation of the Structural Configuration in Machine Tools," Int. J. Mach. Tool' Des. Re^., Vol. 22, No. 2, pp 97-110, 1982.
63. Iwata, K., and Takano, R., "Cost Analysis of Process Planning in Integrated Manufacturing Systems," Int. J. of Prod. Res., Vol. 15, No. 5, 1977.
64. Jablonowski, Joseph, "Robots: Looking Over the Specifications," American Machinist, Special Report 745, May 1982.
65. Jablonowski, Joseph, "Robots that Weld," American Machinist, Special Report 753, pp 113 - 128, April, 1983.
66. Jardine, Nicholas and Sibson, Romin. Mathematical Taxonomy, John Wiley & Sons Ltd., NY. 1971.
67. Jensen, R. E., "A Dynamic Programming Algorithm for Cluster Analysis," Operation Research, Vol. 17, pp 1034-1057, 1968.
68. Kafrissen, Edwards and Stephans, Mark, Industrial Robots and Robotics, Reston Publishing Co. Inc., Reston, Va., 1984.
69. Kamali, Jila et al., "A Framework for Integrated Assembly Systems:Humans, Automation and Robots," Int. J. o^ Prod. Res., Vol. 20, No. 4, 1982.
70. Klahorst, H. Thomas, "Flexible Manufacturing Systems: Combining Elements to Lower Costs, Add^ Flexibi 11 ty , " _ Industrial Engineering, Vol. 13, No. 11, ?p 112 - ll'', 1981.
71. Khator, Suresh Kuma, "A Loading Methodology for Job Shops Having Conventional and NC Machine Tools," Unpublished PhD Dissertation in Industrial Engineering, Purdue University, West Laffiette, Indiana, 1975.
72. King, J. R., "Machine Component Grouping in Production Flow'Analysis: An Approach Using a Rank Order Clustering Algorithm," Int. J. qf_ Prod. Res. , Vol. 13, No. 2, 1980.
23 0
73. King, J. R., "Machine-Component Group Formation in Group Technology," Omega, Vol. 8, No. 2, 1980.
74. King, J. R., and Nakornchai, V., "Machine Component Group Formation in Group Technology: Review and Extension," Int. J. of Prod. Res., Vol. 20, No. 2, pp 117-133, 1982T" ~
75. Knight, W. A., "Component Classification System in Design and Production," Production Technology, Vol. 33, No. 4, 1972.
76. Knott, Kenneth and Getto, Robert D,, "A Model for Evaluating Alternative Robot Systems Under Uncertainty," Int. J. of Prod. Res., Vol. 20, No. 2, 1982.
77. Kobayashi, Kengo, et al., "Flexible Manufacturing Systems with an Idustrial Robot," Proc. of 7th. Int. Symposium on Industrial Robots, October 1977.
78. Koloc, J., '*The Use of Workpiece Statistics to Develop Automatic Programming for NC Machine Tools," Int. J. Machine Tool Des. Res., Vol. 9, pp 65-80, 1969.
79. Koloc, J., Preisler, J. and Vymer, J., "A Contribution to the Manufacturing-Sytem Concept in Production Engineering Research," Annals of the CIRP, Vol. 14, No. 1, pp 65 - 82, September, 1966.
80. Kruse, G., Swinfield, D. G. J., and Thornley, R. H,, "Design of Group Technology Plant and Its Associated Production Control System," The Product ion Engineer, July/Aug. 1975.
81. Mangold, Vern, "The Industrial Robot as a Transfer Device," Robotics Age, July/August, 1982.
82. McAuley, J., "Machine Grouping for Efficient Production," Prod. Engineer, Vol. 51, No. 2, p 53, 1972.
83. McCarthy, Michael and Wood, Sharon, 3eginer's Guide to the Osborne Executive Computer, Vol. 0, Osborne Computer Corporation, Hayward, Ca., 1983.
84. McCormick, W. T. et al., "Problem Decomposition and Data Reorganisation by a Clustering Technique," Operations Research, Vol. 20, p 995, 19^2.
231
85 Middle, G. H., Cononolly, R. and Thornley, R. H., "Organization Problems and the Relevant Manufacturinc System," Ijvt. J. of Prod. Res., Vol. 9, No. 2, pp 297-309, 1971. ' ^
86. Miller, David M., and Bavis, Robert P., "The Machine Requirement Problem," Int. J. of Prod. Res., Vol. 15, No. 2, pp 219-231, 1977^" ~
87. Mitrofanov, S. P., "Scientific Principles of Group Technology Part I," Natl. Lending Library For Science and Technology, Boston SPA. 1966.
88. Moder, Joseph J. and Phillips, Cecil R., Project Management With CPM ajid PERT, 2nd. Edition, Van Nostrand Reinhold Company, New York, 1970.
89. Morishita, Kazuhiro and Boothroyd, Geofrey, "Group Technology: What Role for Robots?," Automation, Aucust 1973.
90. Muth, Enginhard J., "The Production Rate of a Series of Work Stations with Variable Service Times," Int. J. of Prod. Res., Vol. 11, No. 2,-pp 155-169, 1973.
91. Nof, Shimon Y., Knight, James L., and Salvendy, Gavriel S., "Effective Utilization of Industrial Robots-A Job and Skills Analysis Approach," AIIE Transact ions, Vol. 12, No. 3, 1980.
92. Nof, Shimon Y., et al., "Operational Control of Item Flow in Versatile Manufacturing Systems," Int. J. of Prod. Res., Vol. 17, No. 5, 1979.
93. Nof, Shimon Y., and Lechtman, Hannan, "Robot Time and Motion System Provides Means of Evaluating Alternative Robot Work Methods," Industrial Engineering, Vol. 14, No. 4, pp 38 - 48, 1982.
94. Oliva-Lopez, E. and Purcheck, G. F., "Load Balancing for Group Technology Planning and Control," Int. J. of Mach. Tool Des. Res., Vol. 19, pp 259-274, 19- 9.
95. Oliver, Charles E., "Analysis Of The Parts/Machine Grouping Problem In Group Technology Manufacturing Systems," Unpublished PhD Dessertation in Industrial Engineering, Texas Tech University, Lubbock, Texas. 1981.
282
96. Opitz, H. et al., "Workpiece Classification and its Industrial Application," Int. J. of Machine Tool Des. Res., Vol. 9, pp 39-50, 1969. ~
97. Opitz, H. , A Classification System to Describe Workpieces, Parts I & II, Pergamon Press, N. Y., 1970.
98. Opitz, H., and Wiendal, H. P., "Group Technology and Manufacturing Systems in Small and Medium Quantity Production," Int. J. of Prod. Res., Vol. 9, No. 1, 1971. ~
99. Ottinger, Lester V., "A Plant Search for Possible Robot Applications," Industrial Engineering, Vol. 13, No. 12, pp 26 - 32, 198r^
100. Ottinger, Lester V., "Engineering a Robot System for a New Factory," Industrial Engineering, Vol. 14, No. 4, pp 86 - 90, 1982.
101. Ottinger, Lester V., "Robots for the IE: Terminology, Types of Robots," Industrial Engineering, Vol. 13, No. 11, pp 28 - 35, 1981.
102. Paul, Richard P., and Nof, Shimon Y., "Work Methods Measurement-A Comparison Between Robot and Human Task Performance," Int. J. oj; Prod. Res. , Vol. 17, No. 3, 1979.
103. Potter, Ronald D., "Practical Applications of a Limited Sequence Robot," Industrial Robots: Volume 1/ FUNDAMENTALS, 2nd. Edition, pp 277 - 285, SME, Dearborn, MI. 1981.
104. Productivity International Inc., A Survey of Industr ial Robots, 2nd. Edition, Leading Edge Publishing Inc., Dallas, Texas, 1982.
105. Pun, Lucas, Aracil, Javier and Abatut, Jean-Louis, Integrated Automated Pract ice, American Elsevier Publishing Co. Inc., N. Y. 1976.
106. Purcheck, G. J. K., "Combinatorial Grouping- A Lattice-Theoretic Method for the Design of Manufacturing systems," J. of; Cybernat ics, Vol, 4, No. 3, 1974.
107. Purcheck, G. J. K., "A Mathematical Classification as a Basis for the Design of Group Technology Production Cells," Production Engineer, Vol. 53, No. 1, 19^5.
253
108. Rajagopalan, R., and Batra, J. L., "Design of Cellular Production System: A Graph-Theoretic Approach," Int. J. of Prod. Res., Vol. 13, No. 6, 1975. ~
109. Ross, G. J. S., "Minimum Spanning Tree," Applied Statistics, Vol. 18, No. 1, Algorithm AS13, 1969.
110. Ross, G. J. S., "Printing the Minimum Spanning Tree," Applied Statistics, Vol. 18, No. 1, Algorithm AS14,
111. Ross, G. J. S., "Single Linkage Cluster Analysis," Applied Statistics, Vol. 18, No. 1, Algorithm AS15, 1969.
112. Rubin, Jerrold. "Optimal Classification into Groups: An Approach for Solving the Taxonomy Problem," J. of Theoretical Biology, Vol. 15, pp 103-144, 1967.
113. Ruoff, Carl F., "Fast Trigonometric Functions for Robot Control," Robotics Age, Nov/Dec 1981.
114. Ryser, H. T., "Combinatorial Properties of Matrices of Zeros and Ones," Canadian J. of_ Mathematics, Vol. 9, pp 371-377, 1957.
115. Ryzin, J. Van, Classif icat ion and Clustering, Academic Press, NY. 1977.
116. Sage, Andrew P., Methodology For Large Scale Systems, McGraw-Hill, NY. 1977.
117. Sanderson, Ronald J., et al.. Industrial Robots; A Survey and Forecast ing for Manufacturing Managers, Tech Tran Corporation, 111. 1982.
118. Seger, Bengt, "Application of an Industrial Robot with Continuous Path Control," Proc. of 7th Int. Symposium on Ind. Robots, October 1977.
119. Shultz, D., and Ostwald P., "Cost Estimating for Strategical Decisions in Manufacturing Group Classified Design," ASME Paper, 74-DE-7, 1974.
120. Simons, G. L., Robots in Industry, H. Charlesworth Sc Co. Ltd., Huddersfield, England, 1981.
121. Snyder, Wesley E., "Microcomputer Based Path Control," Robotics Age, Spring 1980.
284
122. Society of Manufacturing Engineers, Industrial Robots, ^ Productivity and Equipment Series, 1st. Edition, SME, Marketing Services Division, Dearborn, MI. 1983.
123. Sokal, Robert R. and Sneath, Peter H. A., Principles of Numerical Taxonomy, W. H. Freeman & Company, San Francisco, 1963.
124. Solaja, V. B., and Urosevic, S. M., "An Integral Concept of Group Technology," SME Technical Paper, 1971.
125. Sprague, Ralph H. , Jr. and Carlson, Eric D., Buildmc Effective Decision Support Systems, Prentice-Hall Inc., Englewood Cliffs, N.J., 1982.
126. Spur, G., Rail, G. and Weisse, W., "Model of a 'Flexible Manufacturing Cell' for Rotational Parts," Proc. of 7th Int. Symposium on Ind. Robots, October 1977.
127. Steeke, Kathryn and Solberg, James Jay, "Loading and Control Policies for a Flexible Manufacturing System," Int. J. of; Prod. Res. , Vol. 19, No. 5, 1981.
128. Svestra, Joseph A., et al., "On Improving the Productivity of Numerically Controlled Punch Presses," Int. J. of; Prod. Res. , Vol. 19, No. 5, 1981.
129. Taha, Hamdy A., Operat ions Research, MacMillan Publishing Co. Inc., N. Y. 1982.
130. Takase, K., Paul, Richard P. and Eilert, J., "A Structured Approach to Robot Programming and Teaching," IEEE Transact ions on Systems, Man and Cybernat ics, Vo1. SMC-11, No. 4, April 1981.
131. Tanner, William R., "'Selling' The Robot -Justification for Robot Installation," Industr ial Robots: Volume 1/ FUNDAMENTALS, 2nd. Edition, pp 127 -136, SME Dearborn, MI. 1981.
132. Tanner, William R., "Basics of Robotics," Industr ial Robots: Volume !£_ FUNDAMENTALS, 2nd. Edition, pp 3 -12, SME Dearborn, MI. 1981.
133. Tanner, William R. and Spiotta, Raymond H., "Industrial Robots Today," Industrial Robots: Volume 1/ FUNDAMENTALS, 2nd. Edition, pp 261 - 271, SME Dearborn, MI. 1981.
» • » ' ' • ' • ' " • - "
255
134. Taraman, Khalil (Editor), CAD/CAM: Meeting Today's Productivity Challanqe, CASA/SME, One SME Drive, Dearborne, MI. 1980.
135. Technical Database Corporation, 1983 Robotics Industry Directory, Technical Database Corporation, Conroe, Texas, 1983.
136. Tilsley, R., and Lewis, F. A., "Flexible Cell Production Systems- A Realistic Approach," Annals of CIRP., Vol. 24, p 269, 1977.
137. Unimation Inc., Unimate Industrial Robots, Unimation Inc., Product Literature, 600 Ll-10/79, Danbury, Conn. 1979.
138. Vukobratovic, M. , Sclent if ic Fundamentals of Robots 1_: Dynamics of Manipulator Robots Theory and Applicat ions. Springer-Verlag, N. Y. 1982.
139. Warnecke, H. J. and Schraft, R. D. , Industrial Robots; Applications Experience, IFS Publications Ltd., U. K., 1982.
140. Warnekar, C. S., and Krishna, G., "An Algorithm to Detect Linearly Separable Clusters of Binary Patterns," Pattern Recognition, Vol. 11, pp 109-113, 1979.
141. White, Charles H., and Wilson, Richard C , "Sequence Dependent Setup Times and Job Sequencing," Int. J. of Prod. Res., Vol. 15, No. 2, 1977.
142. Winship, John. "Robots In Metal Working," American Machinist, Report No. 682, November 1975,
143. Young, Robert E., "Software Control Strategies For Use In Implementing Flexible Manufacturing Systems," Industrial Engineering, November 1981.
286
APPENDICES
APPENDIX A
FORTRAN PROGRAM CODES FOR EVALUATION MODELS OF CHAPTER 6
The following programs were used for the robot selec
tion criteria described in Chapter 6. These selection cri
teria were:
a) Selection based on first period Minimum Total Op
erating Cost (CT), and a sensitivity analysis on
the selection to determine how often the criterion
selected the cost effective robot, and
b) Selection based on the Net Present Worth (NPW)
analysis of projected life operating cost over a
specified number of future periods.
Purpose
The purpose of these programs was to select a robot
from a set of robots that have satisfied the minimum re
quirements for a task. This was done in the following or
der:
1. Generate 200 robot codes and store them, in a data
base ,
2. Use the codes for a given task and search this
database for robots that can perform the task,
3. Use the cost equations of Chapter 5 and in criterion:
287
233
a) Choose the robot with the minimum first period
total operating cost, and perform a sensitivity
analysis of the selection to determine how often
the criterion selected the cost effective robot,
and
b) Use the NPW criterion to select the most viable
robot.
Definitions
1. Unsubscripted Variables:
a) NDGTS - number of two digit codes each robot may
have.
b) NLVLS - number of levels each robot attribute code
may have.
c) NJOBS - number of jobs to generate.
d) IX - an odd number used as a seed for the random
number generator.
e) IRATE - rate charged at the shop floor.
f) KF - a multiplication factor.
g) ICIS - cost for installation and setup for a ro
bot ,
h) ICBU - cost for robot basic unit.
i) ICST - cost for special tooling
289
j) IPCC - cost for planning and consultation for a
robot,
k) ST- setup time
1) NP - number of times robot was reprogrammed
m) IFUNC - number of tasks robot will perform
n) IMC - maintenance cost
o) ICPS - cost for power supply
p) ILC - labor cost
q) IRC - cost of retraining personnel
2. Subscripted Variables:
a) A(I,J) - probability distribution for a robot code
with I levels and J attributes.
b) ICODE(K,J) - a robot K whose attribute J is to be
found or compared.
c) RAND(I) - saves the values of the random numbers
generated
d) DMD(I) - demand for a product I
e) LOT(I) - lot size for a product I
f) CLT(I) - cycle time for a product I
g) INVTMC(K,L) - investment cost for robot K during
the Lth test period
290
h) IPRODC(K,L) - production cost for robot K
during the Lth test period
i).IOHC(K,L) - overhead cost for robot K during the
Lth test period
j) ITOTC(K,L) - total operating cost for robot K
during the Lth test period (or
INVTMC(K,L) + IPRODC(K,L) + IOHC(K,L))
k) INPRD(K,L) - INVTMC(K,L) + IPRODC(K,L)
1) INVOH(K,L) - INVTMC(K,L) + IOHC(K,L)
m) IPDOH(K,L,) - IOHC(K,L) + INVTMC(K,L)
n) KPREF(K,I) - preference index for robot K using
the lth cost function.
o) KOUNT - number of times to execute criterion a.
The A, B and C added to the variables defined m pro
grams is to show they are for beta distribution values. The
A means optimistic, B most likely and C pessimistic beta
variables respectively.
Subrout ines
1. MAIN - The main segment of this program.
It generates codes for the 200 robots,
calculates the various cost components and
calls the various subroutines.
291
2. ORDER - Scans through each cost component values to
select the minimum cost generated. 4
3. RANDU - Generates random numbers.
4. BETA - calculates cost values for beta distribution
5. BUFFER - makes sure that the three random numbers
generated for the beta distribution are in
their ascending order of m.agnitude. If they
are not, BUFFER reorders them.
Flow Charts:
A) MAIN Program
292
c START
L_ READ
NDGTS,NLVLS, NRBT,Ari,J),IX
GENERATE
DATABASE OF 200 ROBOTS
^ : < -
N
GENERATE
A JOB CODE JOB(I,K)
SEARCH
DATABASE
Y
N
MAIN Continued.
293
INITIALIZE
COST VARIA-BLES
GENERATE
INVMTC.IOHC,
ITECHC.ITOTC
CALL PINDEX
CALL ORDER
Y
ROBOTS,COST
N
MAIN C o n t i n u e d .
>rY
K0UNT=K0UNT+1
Y
FIND # OF
TIME CHOSEN
FIND MOST CHOSEN ROBOT
294
N
N ^ 1
295
MAIN C o n t i n u e d .
296 B) S u b r o u t i n e BETA:
C START
< •
INITIALIZE
VARIABLES
CALL BUFFER
GENERATE
COSTS FOR BETA
VARIABLES
N
Subroutine BETA Continued
297
CHOOSE RBT WITH
MIN NPW
I RETURN
N W 3
C END )
C) Subroutine BUFFER: 298
START
CALL RANDU
N
REORDER R
< •
RETURN
Y
C END
D) Subroutine RANDU: 299
C START
v»
KS = KF
L=IX
^
GENERATE
RANDOM NO,
N
300
C PROGRAM FOR TESTING SELECTION CRITERIA C MAIN PROGRAM
0001 DIMENSION ITOTC(200,50),JOB(200,50) 0002 DIMENSION IRBT(200,50),NDX(200) 0003 DIMENSION IPRODC(200,50),IOHC(200,50) 0004 DIMENSION INVOH(200,50),IPDOH(200,50) 0005 DIMENSION CLT(200),COST(200) 0006 DIMENSION A(10,40),RAND(100),
1 INVMTC(200,50),INPRD(200,50),DMD(200) 2 LOT(200)
0007 INTEGER SUMM,RBTS,COST,COUNT 0008 REAL LOT 0009 C0MM0N/BLK1/N,KF 0010 COMMON/BLK10/ITOTC,COST 0011 C0MM0N/BLK7/NDX,K
C 0012 READ (5,10) NDGTS,NLVLS,NRBTS,IX,MAX 0013 10 FORMAT (515) 0014 DO 20 J=l,NDGTS 0015 20 READ(5,30) (A(I,J), 1=1,NLVLS) 0016 30 FORMAT(10F5.3)
C 0017 IRATE=10 -0018 KF=1 0019 N=l 0020 DO 60 K=l,NRBTS 0021 DO 50 J=l,NDGTS 0022 CALL RANDU(IX,RAND) 0023 DO 40 1=1,NLVLS 0024 IF(RAND(1) .LE. A(I,J)) GO TO 45 0025 40 CONTINUE 0026 45 IRBT(K,J)=(I*10)-10 0027 50 CONTINUE 0028 60 CONTINUE
C 00 29 COUNT=0 0030 65 DO 500 IK=1,MAX 0031 DO 80 J=l,NDGTS 0032 CALL RANDU(IX,RAND) 0033 DO 70 1=1,NLVLS 0034 IF(RAND(1) .LE. A(I,J)) GO TO ^5 0035 70 CONTINUE 0036 75 JOB(IK,J)=(I*10)-10 0037 80 CONTINUE 0038 IF(J0B(IK,2) .LT. 80) GO TO 500 0039 IF(J0B(IK,7) . LT. 30 .OR. JCBIIK,-^)
1 .GT. 70) GO TO 500 0040 IF(J0B(IK,21) .EQ. 0 .OR. J0B(IK,21)
1 .GT. 70) GO TO 500
301
0041 IF(J0B(IK,38) .LT. 10 .OR. JOB(IK,39) 1 .LT. 10) GO TO 500
0042 RBTS=0 0043 DO 100 K=l,NRBTS 0044 IF(J0B(IK,2) .GT. IRBT(K,2))G0 TO 100 0045 IF(J0B(IK,7) .GT. IRBT(K,7))G0 TO 100 0046 IF(J0B(IK,21).LT.IRBT(K,21))G0 TO 100 0047 IF(JOB(IK,38).GT.IRBT(K,38))G0 TO 100 0048 IF(JOB(IK,39).GT.IRBT(K,39))G0 TO 100 0049 RBTS=RBTS+1 0050 NDX(RBTS)=K 0051 100 CONTINUE 0052 IF(RBTS .GE. 5) GO TO 111 0053 500 CONTINUE
C 0054 111 DO 300 K=1,RBTS 0055 DO 200 L=l,50 0056 SP=0 0057 SUMM=0 0058 NST=0 0059 IMC=0 0060 ITAX=0 0061 ST=0 0062 ICPS=0 0063 ILC=0 0064 IRC=0 0065 ISETUP=0 0066 ISV=0 0067 IDC=0 0068 ICIS=0 0069 ICBU=0 0070 IPCC=0 0071 ICST=0 0072 IOC=0 0073 DO 105 1=1,5 0074 DMD(I)=0 0075 LOT(I)=0 0076 - CLT(I)=0 00' 7 105 CONTINUE 0078 KF=20 0079 N=3 0080 IF(IC0DE(K,1) .EQ. 0)ICODE(K,1)=10 0081 IF(IC0DE(K,31) .EQ. 0)ICODE(K,31)=10 0082 CALL RANDU(IX,RAND) 0083 ICIS=RAND(1) 0084 ICBU=RAND(2)*ICODE(K,31)
1 *(10/ICODE(K,1)) 0085 ICST=RAND(3) 0086 KF=50
302
0087 0088 0089 0090 0091
0092 0093 0094 0095 0096 0097 0098 0099 0100
0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112
0113
0114
0115
0116
0117 0118 0119 0120 0121 0122 0123
0124 0125
1
1 2
N=2 CALL RANDU(IX,RAND) IPCC=RAND(1) IWKD=RAND(2) INVMTC(NDX(K),L)=ICIS+ICBU+ICST+IPCC + IWKD
KF=10000 N=l CALL RANDU(IX,RAND) DMD(1)=RAND(1) IF(DMD(1) .LT. 500) DMD(1)=500 KF=100 CALL RANDU(IX,RAND) L0T(1)=RAND(1) IF(L0T(1) .LT. DMD(1)*.01) LOT(1) =DMD(1)*.01 KF=1 CALL RANDU(IX,RAND) CLT(1)=RAND(1)*0.1 TCLT=0 TLOT=0 N=l CALL RANDU(IX,RAND) ST=RAND(1) TL0T=L0T(1) TCLT=L0T(1)*CLT(1) IF(ST .GT. TCLT*0.1) ST=TCLT*0.1 IF(IRBT(NDX(K),12) .EQ. IRBT(NDX(K),12)=10
0)
.EQ. 0) K),13) 13)=10 K),22) 22)=10 K),26) 26)=10 NDX(K),13) ,12)+IRBT(NDX(K) ,26))/10
.EQ. 0)
.EQ. 0)
22)
IF(IRBT(NDX IRBT(NDX(K) IF(IRBT(NDX IRBT(NDX(K) IF(IRBT(NDX IRBT(NDX(K) ST=ST*(IRBT +IRBT(NDX(K +IRBT(NDX(K SUM=0 SP=DMD(1)/L0T(1) SUMM=SP+.99999 NST=SUMM*ST PTIME=0 PTIME=CLT(1)*DMD(1) IPRODC(NDX(K) ,L) = I RATE*(PTIME + NST)
KF=1 N=5
303
0126 0127 0128 0129
0130
0131 0132 0133 0134
0135
0136 0137 0138 0139 0140
0141 0142 Q143 0144 0145 0146 0147
0148 0149
0150
0151
0152 0153 0154
0155 0156 0157 0158 0159 0160 0161 0162 0163
200
300
340 1 2
350 360 370
425 1
405 1
410 1
420 1
430
435 1
440 450
CALL RANDU(IX,RAND) IMC=RAND(1)*10 IFdMC .LT. ICBU*.07) IMC= ICBU*0 . 0^ IF(IRBT(NDX(K),25) ,EQ. 0) IRBT(NDX(K),25)=10 ICPS =(RAND(2)* IRBT(NDX(K) ,3 2)/ (IRBT(NDX(K),25)))*100 ILC=RAND(3)*10 * IRATE IRC=RAND(4)*100 ITAX=RAND(5)*10 IOHC(NDX(K),L)=IMC+ICPS+ILC^IRC^ITAX ITOTC(NDX(K),L)=INVMTC(NDX(K),L) +ITECGC(NDX(K),L)+lOHC(NDX(K),L) CONTINUE CALL PINDEX CONTINUE WRITE(6,340) F0RMAT(1H1,5HJ0B #,5X, 4 2HCARSP DATABASE SYSTEM CODES FOR 200 ROBOTS) DO 350 K=l,NRBTS WRITE(6,360)K,(IRBT(K,J),J=1,NDGTS) FORMATdX, 15,4013) WRITE(6,410)RBTS WRITE(6,4 20)IK,(JOB(IK,J),J=1,NDGTS) WRITE(6,425) FORMAT(2X,13HROBOT NUMBERS,20X, IIHROBOT CODES) DO 405 1=1,RBTS WRITE(6,430)NDX(I),(IRBT(NDX(I),J), J=l,NDGTS) F0RMAT(1H1,2X,2 5HNUMBER OF ROBOTS FOUND= ,110/) FORMAT(2X,10HJOB NUMBER,2OX, 8HJ0B C O D E / I X , 1 5 , 4 0 1 3 / ) FORMATdX, 1 5 , 4 0 1 3 ) W R I T E ( 6 , 4 3 5 ) FORMATdX, 7HR0B0T #,10X,14HMIN TOTAL COST) DO 440 1=1,RBTS W R I T E ( 6 , 4 5 0 ) N D X ( I ) , C O S T ( N D X ( l ) ) F O R M A T ( 3 X , I 5 , 1 0 X , I 1 0 ) MIN=C0ST(NDX(1)) N0=NDX(1) DO 460 1=2,RBTS IF(MIN . L E . COST(NDX(I ) ) ) GO TO 460 MIN=COST(NDX(I)) NO=NDX(I)
304
0164 460 CONTINUE 0165 WRITE(6,470)NO,MIN 0166 470 FORMAT(2X,12HCHOOSE RBT :, lOX, 14HMIN
1 TOTAL C0ST/,4X,I5,16X,110) 0167 800 CALL EXIT 0168 END
C 0001 SUBROUTINE PINDEX 0002 DIMENSION ITOTC(200,50),JI(200,50),
1 COST(200),NDX(200) 000 3 INTEGER COST 0004 C0MM0N/BLK7/NDX,K 000 5 COMMON/BLKIO/ITOTCCOST 0006 DO 10 1=1,50 0007 10 JI(NDX(K),I)=IT0TC(NDX(K) ,I) OQOa CALL ORDER(JI,JT) 0009 COST(NDX(K))=JT 0010 RETURN 0011 END
C 0001 SUBROUTINE ORDER(JI,JT) 0002 DIMENSION JI(200,50),NDX(200) 0003 C0MM0N/BLK7/NDX,K 0004 JE=JI(NDX(K),1) 0005 DO 10 1=2,50 0006 IF(JE .LE. JI(NDX(K),1)) GO TO 10 0007 JE=JI(NDX(K),I) 0008 10 CONTINUE 0009 JT=JE 0010 RETURN 0011 END
C 0001 SUBROUTINE RANDU(IX,RAND) 0002 DIMENSION RAND(IOO) 000 3 C0MM0N/BLK1/N,KF 0004 KS=KF 0005 L=IX 0006 DO 30 1=1,N 0007 L=65539*L 0008 IF(L)10,10,20 0009 10 L=L+2147483647+1 0010 20 YL=L 0011 YL=YL*.4656613E-9 0012 30 RAND(I)=YL*KS 0013 IX=L 0014 RETURN 0015 END
305
0001 0002 0003 0004 0005
0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023
SUBROUTINE BETA(IX) DIMENSION ITOTCA(200,10),NPWEX(2C0) DIMENSION ITOTCC(200,10),RAND(200) DIMENSION NDX(200),IRBT(200,50) DIMENSION NPW(200,10),NPWV(20 0,10),
1 ITOTCB(200,10),ITOTEX(200,10), 2 ITOTVA(200,10),NPWVA(200) INTEGER RBTS,SUMMA,SUMMB,SUMMC C0MM0N/BLK1/N,KF C0MM0N/BLK7/NDX,K C0MM0N/BLK8/RAND C0MM0N/BLK9/RBTS,IRBT,IRATE JX=0
111 DO 112 1=1,RBTS NPW(NDX(I),JX)=0 NPWV(NDX(I),JX)=0
112 CONTINUE DO 109 1=1,RBTS DO 108 J=l,5 NPW(NDX(I),J)=0
108 NPWV(NDX(I),J)=0 NPWEX(NDX(I))=0
109 NPWVA(NDX(I))=0 KOUNT=0 KN=0
0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046
107 DO 200 K=1,RBTS SPA=0 SPB=0 SPC=0 SUMMA=0 SUMMB=0 SUMMC=0 NSTA=0 NSTB=0 NSTC=0 IMCA=0 IMCB=0 IMCC=0 ITAXA=0 ITAXB=0 ITAXC=0 STB = 0 STC = 0 STA=0 ICPSA=0 ICPSB=0 ICPSC=0 ILCB=0
306
0047 ILCC=0 0048 IRCB=0 0049 IRCA=0 0050 ISVB=0 0051 ISVC=0 0052 ILCA=0 0053 IRCC=0 0054 ISETUP=0 0055 ISVA=0 0056 IDCC=0 0057 ICISA=0 0058 IDCA=0 0059 IDCB=0 0060 ICISB=0 0061 ICISC=0 0062 ICBUA=0 0063 ICBUB=0 0064 IPCCB=0 0065 IPCCC=0 0066 ICSTA=0 0067 ICBUC=0 0068 ICSTB=0 0069 IOCB=0 0070 IOCC=0 0071 IPCCA=0 0072 ICSTC=0 0073 IOCA=0 0074 DMDA=0 0075 DMDB=0 0076 DMDC=0 0077 LOTA=0 0078 LOTB=0 0079 LOTC=0 0080 CLTA=0 0081 CLTB=0 0082 CLTC=0 0083 KF=20 0084 N=3 0085 IF(IRBT(NDX(K),1) .EQ, 0)
1 IRBT(NDX((K),1)=10 0086 IF(IRBT(NDX(K),31) .EQ. 0)
1 IRBT(NDX(K),31)=10 0087 CALL BUFFER(IX) 0088 ICISA=RAND(1) 0089 ICISB=RAND(2) 0090 ICISC=RAND(3) 0091 CALL BUFFER(IX) 00 92 ICBUA= RAND(1)* IRBT(NDX(K) ,31)
1 *(10/IRBT(NDX(K),1)
30
0093
0094
0095 0096 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 0117
ICBUB = RAND(2)* IRBT(NDX(K) ,31) 1 *(10/IRBT(NDX(K),1)
ICBUC=RAND(3)* IRBT(NDX(K) ,31) 1 *(10/IRBT(NDX(K),1) KF=10 N=3 CALL BUFFER(IX) ICSTA=RAND(1) ICSTB=RAND(2) ICSTC=RAND(3) KF=50 N=3 CALL BUFFER(IX) IPCCA=RAND(1) IPCCB=RAND(2) IPCCC=RAND(3) CALL BUFFER(IX) IWKDA=RAND(1) IWKDB=RAND(2) IWKDC=RAND(3) INVA=ICISA+ICBUA+ICSTA+IPCCA+IWKDA INVB=ICISB+ICBUB+ICSTB+IPCCB-IWKDB INVC=ICISC+ICBUC+ICSTC+IPCCC+IWKDC IF (KOUNT .EQ". 0 ) GOTO 120 INVA=0 INVB=0 INVC=0
0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 0134 0135 0136 0137 0138
120 KF=10000 N=3 CALL BUFFER(IX) DMDA=RAND(1) DMDB=RAND(2) DMDC=RAND(3) IF(DMDA .LT. 500) IF(DMDB .LT. 500) IF(DMDC .LT. 500) KF=100 N=3 CALL BUFFER(IX) LOTA=RAND(1) L0TB=RAND(2) L0TC=RAND(3)
DMDA=50 0 DMDB=500 DMDC=500
IF(LOTA .LT IF(LOTB .LT IF(LOTC .LT KF=1 N=3 CALL BUFFER(IX)
DMDA* DMDB* DMDC*
01) LOTA=DMDA*.01 •01) LOTB = DMDB*.01 01) LOTC=DMDC*.01
308
0139 CLTA=RAND(1)*0.1 0140 CLTB=RAND(2)*0.1 0141 CLTC=RAND(3)*0.1 0142 TCLTA=0 0143 TCLTB=0 0144 TCLTC=0 0145 TLOTA=0 0146 TLOTB=0 0147 TLOTC=0 0148 N=3 0149 CALL BUFFER(IX) 0150 STA=RAND(1) 0151 STB=RAND(2) 0152 STC=RAND(3) 0153 N=3 0154 CALL BUFFER(IX) 0155 TLOTA=LOTA+TLOTA 0156 TLOTB=LOTB+TLOTB 0157 TLOTC=LOTC+TLOTC 0158 TCLTA=LOTA*CLTA+TCLTA 0159 TCLTB=LOTB*CLTB+TCLTB 0160 TCLTC=LOTC*CLTC+TCLTC 0161 IFiSTA .GT. TCLTA*0.1) STA=TCLTA*0.1 0162 IF(STB .GT. TCLTB*0.1) STB=TCLTB*0.1 0163 IF(STC .GT. TCLTC*0,1) STC=TCLTC*0.1 0164 IF(IRBT(NDX(K),12) .EQ. 0)
1 IRBT(NDX(K) , 12)=10 0165 IF(IRBT(NDX(K),13) .EQ. 0)
1 IRBT(NDX(K),13)=10 0166 IF(IRBT(NDX(K),22) .EQ. 0)
1 IRBT(NDX(K),22)=10 0167 IF(IRBT(NDX(K),26) .EQ. 0)
1 IRBT(NDX(K),26)=10 0168 STA=STA*(IRBT(NDX(K),13)
1 +IRBT(NDX(K),12) 2 +IRBT(NDX(K),22) 3 +IRBT(NDX(K),26))/10
0169 STB=STB*(IRBT(NDX(K),13) 1 +IRBT(NDX(K),12) 2 +IRBT(NDX(K),22) 3 +IRBT(NDX(K),26))/10
0170 STC=STC*(IRBT(NDX(K),13) 1 +IRBT(NDX(K),12) 2 +IRBT(NDX(K),22) 3 +IRBT(NDX(K),26))/10
0171 SUMA=0 0172 SUMC=0 0173 SUMB=0 0174 SPA=DMDA/LOTA
309
0175 0176 0177 0178 0179 0180 0181 0182 0183 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194
0195 0196 0197 0198 0199 0200 0201 0202 0203 0204
0205 0206
0207
0208
0209 0210 0211 0212 0213 0214 0215 0216 0217 0218
SPB=DMDB/LOTB SPC=DMDC/LOTC SUMA=SUMA+SPA SUMB=SUMB+SPB SUMC=SUMC+SPC SUMMA=SUMA+.999999 SUMMB=SUMB+.999999 SUMMC=SUMC+.999999 NSTA=SUMMA+STA NSTB=SUMMB+STB NSTC=SUMMC+STC PTIMEA=0 PTIMEB=0 PTIMEC=0 PTIMEA=CLTA*DMDA+PTIMEA PTIMEB=CLTB*DMDB+PTIMEB PTIMEC=CLTC*DMDC+PTIMEC ITEA=(IRATE)*(PTIMEA+NSTA) ITEB=(IRATE)*(PTIMEB+NSTB) ITEC=(IRATE)*(PTIMEC+NSTC)
C KF=1 N=3 CALL BUFFER(IX) IMCA=RAND(1) IMCB=RAND(2) IMCC=RAND(3) IFdMCA .LT. ICBUA*.07) IMCA=ICBUA*.07 IFdMCB .LT. ICBUB*.07) IMCB=ICBU3*.07 IFdMCC .LT. ICBUC*.07) IMCC=ICBUB*,07 IF(IRBT(NDX(K),25) ,EQ. 0)
1 IRBT(NDX(K),25)=10 CALL BUFFER(IX) ICPSA=(RAND(1)* IRBT(NDX(K) ,3 2)/
1 (IRBT(NDX(K),25)))*100 ICPSB=(RAND(2)*IRBT(NDX(K),32)/
1 (IRBT(NDX(K),25)))*100 ICPSC=(RAND(3)*IRBT(NDX(K),32)/
1 (IRBT(NDX(K),25)))*100 CALL BUFFER(IX) ILCA=RAND(1)*(IRATE)*10 ILCB=RAND(2)*(IRATE)*10 ILCC = RAND(3)*(I RATE)* 10 CALL BUFFERdX) IRCA=RAND(1)*100 IRCB=RAND(2)*100 IRCC=RAND(3)*100 CALL BUFFER(IX) ITAXA=RAND(1)*10
310
0219 ITAXB=RAND(2)*10 0220 ITAXC=RAND(3)*10 0221 IOHA=IMCA+ICPSA+ILCA+IRCA+ITAXA 0222 IOHB=IMCB+ICPSB+ILCB+IRCB+ITAXB 0223 IOHC=IMCC+ICPSC+ILCC+IRCC+-ITAXC
C 0224 ITOTCA(NDX(K),KOUNT)=INVA+ITEA+lOHA 0225 ITOTCB(NDX(K),KOUNT)=INVB+ITEB+I0H3 0226 ITOTCC(NDX(K),KOUNT)=INVC+ITEC+lOHC 0227 ITOTEX(NDX(K),KOUNT)=(ITOTCA(NDX(K),
1 K0UNT)+4*(ITOTCB(NDX(K),KOUNT)) 2 +ITOTCC(NDX(K),KOUNT))/6
0228 ITOTVA(NDX(K),KOUNT)=((ITOTCA(NDX(K) 1 KOUNT)-ITOTCC(NDX(K),KOUNT))/6)**2
C 0229 NPW(NDX(K),KOUNT)=(ITOTEX(NDX(K),
1 KOUNT))*(l./((1.30)**KOUNT)) 0230 NPWV(NDX(K),KOUNT)=(ITOTVA(NDX(K),
1 KOUNT))*(l./((1.30)**(2*KOUNT))) 0231 200 CONTINUE
C 0232 KN=KN+1 0233 IF(KN .LE. 1000) GO TO 107 0234 K0UNT=K0UNT+1 0235 IF(KOUNT .LE. 5) GO TO 107 0236 KOUNT=KOUNT-1 0237 WRITE(6,210) 0238 210 FORMAT(/,2X,39HPROJECTED TOTAL COSTS
1 FOR 5 YEAR PERIOD// 2 2X,11X,32HPR0JECTED COSTS FOR ROBOTS 3 FOUND/ 4 2X,5HRBT #,4X,'1',lOX,'2',lOX,'3', 5 lOX, 'X' ,1-0/, '5'/)
0239 DO 220 1=1,RBTS 0 240 WRITE(6,230)ITOTCA(NDX(I),JX),
1 (ITOTCA(NDX(I),J),J=1,KOUNT) 0 241 WRITE(6,240)NDX(I),ITOTCB(NDX(I),JX)
1 (ITOTCB(NDX(I),J),J=1,KOUNT) 0 24 2 WRITE(6,2 50)ITOTCC(NDX(I),JX),
1 (ITOTCC(NDX(I),J),J=1,KOUNT) CONTINUE FORMAT(/,7X,6 110) FORMAT(2X,15,6110) FORMAT(7X,6I10) WRITE(6,260) FORMAT(/,2X,3 6HEXPECTED TOTAL COSTS 13X,46HE(TOTAL COST) & V(TOTAL COST) FOR PERIOD INDICATED/ 2X,5HRBT #,4X,•1',10X,'2',10X,•3',
0243 0244 0245 0246 0247 0248
220 230 240 250
260 1 2 3
311
0249 0250
0251 0252
0253 0254 0255 0256
0257 0258 0259
270 280 290 300
C
: lOX, '4' ,10X, '5V) DO 270 1=1,RBTS WRITE(6,280)ITOTEX(NDX(I),JX),
. (IT0TEX(NDX(I),J),J=1,KOUNT) WRITE(6,290)NDX(I) WRITE(6,300)ITOTVA(NDX(I),JX),
. (ITOTVA(NDX(I),J),J=1,KOUNT) CONTINUE FORMAT(/,7X,6I10) FORMAT(2X,15) FORMAT(7X,6I10)
DO 320 1=1,RBTS DO 310 J=l,KOUNT NPWEX(NDX(I))=NPWEX(NDX(I))
1 +NPW(NDX(I),J) 0260 NPWVA(NDX(I))=NPWVA(NDX(I))
1 +NPWV(NDX(I),J) 0261 310 CONTINUE 0262 NPWEX(NDX(I))=NPWEX(NDX(I))
1 +(NPW(NDX(I),JX) 0263 NPWVA(NDX(I))=NPWVA(NDX(I))
1 +(NPWV(NDX(I),JX) 0264 320 CONTINUE 0265 WRITE(6,330) 02 66 3 30 FORMAT(/,12X,2 7HRESULTS OF THE NPW
1 ANALYSIS// 2 13X,39HE(NPW) AND V(NPW) FOR PERIODS 3 INDICATED/ 4 2X,5HRBT #,4X,'1',lOX,'2',lOX,'3', 5 10X,'4',10x,'5V,lX, 'E(NPW) ' ,2X, 6 •V(NPW)'/)
0267 DO 340 1=1,RBTS 02 68 WRITE(6,350)NPW(NDX(I),JX),
1 (NPW(NDX(I),J),J+1,KOUNT), 2 NPWEX(NDX(I))
0269 WRITE(6,360)NDX(I) 0 270 WRITE(6,3 70)NPWV(NDX(I),JX),
1 (NPWV(NDX(I),J),J=1,KOUNT), 2 NPWVA(NDX(I))
0271 340 CONTINUE 0272 350 FORMAT(/,7X,7I10) 0273 360 F0RMAT(2X,15) 0274 370 F0RMAT(7X,6110,lOX,110) 0275 RETURN 0276 END
C 0001 SUBROUTINE BUFFER(IX) 0002 DIMENSION RAND(IOO)
312
0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023
0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015
10
20
30
C
10 20
30
C0MM0N/BLK1/N,KF C0MM0N/BLK8/RAND CALL RANDU(IX,RAND) DAD=0 DO 10 1=1,3 DAD=RAND(I)+DAD A=RAND(1) DO 20 1=2,3 IF(A .LE. RAND(I)) GO TO A=RAND(I) CONTINUE B=RAND(1) DO 30 1=2,3 IF(B .GE. RAND(I)) GO TO B=RAND(I) CONTINUE RAND(1)=A RAND(3)=B RAND(2)=DAD-(A+B) RETURN END
- SUBROUTINE RANDU(IX,RAND) DIMENSION RANDdOO) C0MM0N/BLK1/N,KF KS = KF L=IX DO 30 1=1,N L=65539*L IF(L)10,10,20 L=L+2147483647+1 YL=L YL=YL*.4656613E-9 RAND(I)=YL*KS IX = L RETURN END
20
30
Sample Input Data:
313
40 10 200 7321 0 . 1 0 0 . 1 0 0 . 1 0 0 . 3 3 0 . 1 0 0 . 1 0 0 . 1 0 0 . 1 0 0 . 1 0 0 . 1 0 0 . 1 0 0 .10 0 . 1 0 0 . 1 0 0 . 1 0 0 .10 0 .10 0 .10 0 . 1 0 0 . 1 0 0 . 1 0 0 . 1 0 0 .10 0 .10 0 . 1 0 0 .10 0 . 1 0 0 .14 0 . 1 4 0 . 1 0 0 . 1 0 0 . 1 0 0 . 1 0 0 . 2 0 0 . 2 5 0 . 1 0 0 . 1 7 0 . 1 7 0 . 1 0 0 . 1 0
0 . 2 0 0 . 2 0 0 . 2 0 0 . 6 7 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 8 0 . 2 8 0 . 2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 . 4 0 0 . 5 0 0 . 2 0 0 . 3 3 0 . 3 3 0 . 2 0 0 . 2 0
0 . 3 0 0 . 3 0 0 . 3 0 1 .00 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 4 3 0 . 4 3 0 . 3 0 0 . 3 0 0 . 3 0 0 . 3 0 0 . 6 0 0 . 7 5 0 . 3 0 0 . 5 0 0 . 5 0 0 . 3 0 0 . 3 0
0 . 4 0 0 . 4 0 0 . 4 0
0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 5 7 0 . 5 7 0 . 4 0 0 . 4 0 0 . 4 0 0 . 4 0 0 . 8 0 1 .00 0 . 4 0 0 . 6 7 0 . 6 7 0 . 4 0 0 . 4 0
0 . 5 0 0 . 5 0 0 . 5 0
0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 0 . 7 1 0 . 7 1 0 . 5 0 0 . 5 0 0 . 5 0 0 . 5 0 1 .00
0 . 5 0 0 . 8 3 0 . 8 3 0 . 5 0 0 . 5 0
0 . 6 0 0 . 6 0 0 . 6 0
0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0 0 . 8 5 0 . 8 5 0 . 6 0 0 . 6 0 0 . 6 0 0 . 6 0
0 . 6 0 1 .00 1 .00 0 . 6 0 0 . 6 0
0 . 7 0 0 . 7 0 0 . 7 0
0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0 1 .00 1 .00 0 . 7 0 0 . 7 0 0 . 7 0 0 . 7 0
0 . 7 0
0 . 7 0 0 . 7 0
0 . 8 0 0 . 8 0 0 . 8 0
0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0
0 . 8 0 0 . 8 0 0 . 8 0 0 . 8 0
0 . 8 0
0 . 8 0 0 . 8 0
0 0 0,
0, 0. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0. 0. 0, 0, 0. 0, 0. 0. 0. 0.
0. 0. 0. 0 .
0.
0. 0 .
. 90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
.90
,90 .90 .90 .90
.90
.90
.90
1.00 1.00 1.00
1 .00 1.00 1 .00 1 .00 1.00 1.00 1 .00 1 .00 1.00 1 .00 1.00 1 .00 1 .00 1.00 1 .00 1 .00 1 .00 1.00 1 .00 1 .00 1 .00 1.00 1 .00
1 .00 1 .00 1 .00 1.00
1 .00
1 .00 1 .00
APPENDIX B
CARSP SYSTEM USER MANUAL
314
C A R S P S Y S T E M 315
USER MANUAL
This short manual is intended as a guide to help prospective users of the Computer-Aided Robot Selection Procedure (CARSP) System better understand its mechanics.
The CARSP system was coded in the Beginer's All-Purpose Symbolic I_nstruction Code (BASIC) and is CP/M based. It can therefore run on most CP/M (Controlled Programming for Microprocessors) based computers. The current literature was described for the Osborne Executive Computer (Fig. 1) on which the CARSP system was originally designed and coded. It is, however, expected to apply to any other computer without any loss in generality.
The Osborne is a CP/M based computer with 128K RAM memory and two disc drives. These minimum reguirements are essential for the CARSP system to operate effectively.
r
Figure 1: The Osborne EXECUTIVE Computer [S3]
316
The CARSP follows:
system is divided into five major segme: 1 l-O as
1) MENU 2) DATABASE MANAGEMENT 3) ROBOT SELECTION 4) TASK MATCHING 5) ECONOMIC ANALYSIS
The systems's architecture is shown in Figure 2 and is such that each segment always returns back to the MENU segment. The MENU segment is therefore the getway to the rest of the CARSP system.
This manual assumes that the computer has been BOOTED up to CP/M. For directions on how to BOOT up your computer system to CP/M, consult your User's Manual for the computer system in use.
BOOTing the computer prompt as follows:
A>
system to CP/M will give you the A
WHAT USER DOES CARSP RESPONSE
1. Insert the Disc Marked A into Drive A and that marked B into Drive B and close the Disc doors.
2. Type [M][E](N][U]
Figure 2: Disc Insertion [83]
A > M E N U
Make sure MENU is spelled correctly. Use the LEFT ARROW KEY (or press down on the CTRL key while pressing the H key) on the Computer keyboard to space back and make corrections.
317
tD 2: W
s
t-i 2 cn 0 >-i 1—t
• • ^ H H K < U CJ U 2: 3 Z 2 H < Di 0
< H »-< w 2 u cn to CO-^HH 2 C/D < H S »-• W pq U C ^ c o < OJ 2 0 H H-J 0 pu, Q <; W U 2 Z Q CO ttJ t-t CU
i-i rv< to Tt o
r j (VI
1)
3
O
a -f—I
<
a;
<
318
WHAT USER DOES
3. Press RETURN
CARSP RESPONSE
TEXAS TECH UNIVERSHV
CENTER FOR APPLIED RESEARCH IN
INDUSTRIAL AUTOMATION AND ROBOTICS
C C C A
CC C A A
CC AA A
CC AA A AA
CC C AA A RR
C C C AA A RR
RR R R R S S S S
RR R SS
RR R R R R S S S S
RR R SS
R S SS PP
R S S S S ??
P? P P ^
?P P
PP P P P P
PP
(Coiputer Aided-Robot Selection Procedure) J
COPY RIGHT (C) 1983 ALL RIGHTS RESERVED WORLDWIDE
By
FELIX 0 . OFFODILE
CARSP (Computer-Aided Robot Selection Procedure)
r^
K ENTER COHHAND :
•••*••••••••••••••••••
1 ENTER SYSTEM COMMAND !
1 1 DATA BASE MANAGEMENT 1 2 ROBOT SELECTION/HATCH 1 3 ECONOMIC ANALYSIS ! 4 USER INFORMATIONS/INSTR. 1 0 END OF SESSION \»*••••••••••••••#•••••••••/
319
WHAT USER DOES CARSP RESPONSE
4. Press 4
ENTER COMMAND :
«««*f«»«*«»fiff«*«««««
! ENTER SYSTEM COMMAND !
: 1 DATA BASE MANAGEMENT I 2 ROBOT SELECTION/MATCH 3 ECONOHIC ANALYSIS
I 4 USER INFORMATIONS/INSTR. 0 END OF SESSION
USER INFORMATION/INSTRUCTIONS
(1) DATABASE MANAGEMENT
ALLOWS YOU TO: (a) A-DD a new robot to the DATABASE
(b) D-ELETE a robot frou the DATABASE (c) U-PDATE the status of any robot in the DATABASE.
For exauple, a DELETED robot can be res tored . (d) L-IST one or lo re robots in the DATABASE (e) S-UMHARIZE a l l robots in the DATABASE
ENTER SYSTEM COMMAND OR RETURN KEY FOR MORE INFORMATION:
5. P r e s s [RETURN|key u n t i l you a r e back to F igure 3 of s t e p
By us ing t h i s o p t i o n (USER INFORMATION/INSTRUCTION) you can see the r e s p e c t i v e s u b d i v i s i o n s of each segment of the CARS? system. You can e n t e r any of t he o t h e r cho ices ( 1 , 2 or 3) to a c c e s s t h a t program a t any t i m e . Each of t h e s e program segments w i l l now be d i s c u s s e d .
FLOW CHART:
M : MENU:
320
( ^ START D LOAD/RUN
MENU PROGRAM
MENU NOT ON LOGGED DISC DRIVE.
1 2 3 4
. CHOOSE DATABASE • SELECT/MATCH ECONOMIC ANAL INFO/INSTRUCT
0. END
4: USER INFORMATION/INSTRUCTIONS:
321
4 : CONTINUED:
322
Y
323
4: CONTINUED:
ECONOMIC ANAL INF( INSTR
N
(1) DATABASE MANAGEMENT
324
The DATABASE Management segment of the CARSP system has five subprograms designed to make manipulation of the vast amounr of data used in describing robots more manageable.
WHAT USER DOES CARSP RESPONSE
1. Press [T] LOADING DATABASE MANAGEMENT PROGRAM PLEASE WAIT
DATABASE.BAS SERIES 1 COPYRIGHT (C) 1983
VERSION 1.00 SN:001 ALL RIGHTS RESERVED, WORLDWIDE
By
CENTER FOR APPLIED RESEARCH IN AUTOMATION AND ROBOTICS
•ROBOCQDE-
Robot Descriptive Database
TOTAL NUMBER OF ROBOT DESCRIPTIONS: 199
NUMBER OF DELETED ROBOT DISCRIPTIONS: 0
LAST UPDATED: 0 9 / 1 2 / 8 3
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION
D-ELETE A ROBOT DESCRIPTION L- IST ONE OR ALL ROBOT DESCRIPTIONS
S-UMMARIZE ALL ROBOT DESCRIPTIONS E-ND
COMMAND: ^J FOR HELP
Displayed on the SCREEN i s the f i r s t page of the DATABASE program showing the' f ive subdiv is ions of the segment. Only the f i r s t l e t t e r of each option need be entered to access t ha t op t ion . For example, to A-DD a robot to the da t abase , only an A i s reguired to run the ADD subprogram. A spec ia l f ea tu re of the DATABASE program is i t s screen e d i t i n g capab i l i t i e s . Several keys on the computer keyboard have beer. configured for t h i s purpose. To see these keys and t h e i r de-
325
finitions, type CTRL-J by pressing down on the CTRL key and pressing the J key.
WHAT USER DOES CARSP RESPONSE
2. Pres s CTRL I - [ j ] Entsr Help Sourcs: d:fil3nafl».ext [defaul ts to ROBOT.3Ar:
3. Press default
RETURN f o r ROBOT HEl? INFORMATION
CTRL-W TO WRITE A DESCRIPTION CTRL-Q TO ABANDON CTRL- £ CURSOR UP CTRL-X CURSOR DOWN CTRL-D CURSOR RIBHT CTRL-S CURSOR LEFT CTRL-T ERASE AN ENTRY CTRL-S ERASE A CHARACTER CTRL-C CONTINUE TO NEXT SCREEN CTRL-R RETURN TO PREVIOUS SCREEN CTRL-V TOGGLE INSERT ON/OFF CTRL-J HELP ON AVAILABLE CODES
CODE GROUPINGS
CODE 01 ROBOT CLASS CODE 02 APPLICATIONS CODE 0 3 - CODE 11 PERFORMANCE CODE 12 - CODE 21 PHYSICAL CHARACTERISTICS CODE 22 - CODE 31 GENERAL CHARACTERISTICS CODE 32 - CODE 36 POWER REQUIREMENTS CODE 37 - CODE 40 ENVIRONMENT
Any Key t o E x i t H e l p Menu or CTRL-J f o r i c r e ' H e b '
These s p e c i a l keys are g u i t e handy and h e l p f u l when u s i n g the DATABASE program, e s p e c i a l l y when doing so for the f i r s t t i m e . They are the keys t o use t o maneuver your way around
326
t h e s c r e e n when r u n n i n g t h e DATABASE p r o g r a m . You may w a n t t o make a c o p y of t h i s p a g e of t h e manua l so t h a t you c a n r e f e r t o i t a s o f t e n a s p o s s i b l e u n t i l you h a v e m a s t e r e d t h e k e y s . T h e s e k e y d e f i n i t i o n s ARE NOT v a l i d f o r o t h e r ? ^ 0 " g rams c a l l y m e n t s
of t h e CARSP s y s t e m , and u n l e s s you h a v e b e e n s p e c i r i -i n s t r u c t e d o t h e r w i s e , do n o t u s e them i n o t h e r s e g -
of t h e CARSP s y s t e m .
WHAT USER DOES CARSP RESPONSE
4 . P r e s s
RETURN TOTAL NUMBER OF ROBOT DESCRIPTIONS: 199 NUMBER OF DELETED ROBOT DISCRIPTIONS: 0
LAST UPDATED: 0 9 / 1 2 / 8 3
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L- IST ONE OR ALL ROBOT DESCRIPTIONS S-UMMARIZE ALL ROBOT DESCRIPTIONS E-ND
COMMAND: ^J FOR HELP
(a) ADD SUBPROGRAM
The A-DD s e g m e n t of t h e DATABASE p r o g r a m i s u s e d f o r a d d i n g r o b o t s t o t h e CARSP s y s t e m . To ADD a r o b o t t o t h e CARS? s y s t e m , o n l y t h e CODES f o r g i v e n r o b o t a t t r i b u t e s a r e u s e d f o r d e s c r i b i n g t h e r o b o t t o t h e s y s t e m . F o r t y (40) a t t r i b u t e s a r e u s e d f o r t h i s p u r p o s e p l u s t h r e e a d d i t i o n a l a t t r i b u t e s f o r s u c h i n f o r m a t i o n a s t h e r o b o t ' s model name o r i d e n t i f i c a t i o n n u m b e r , and t h e m a n u f a c t u r e r ' s a d d r e s s and phone n u m b e r s . To ADD t h e r o b o t of t h e e x a m p l e p r o b l e m o . A p p e n d i x D h e r e i s w h a t you d o .
WHAT USER DOES CARSP RESPONSE
TOTAL NUMBER OF ROBOT DESCRIPTIONS: 199 NUMBER OF DELETED ROBOT DISCRIPTIONS: 0
LAST UPDATED: 09 /12 /83
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L - I S T ONE OR ALL ROBOT DESCRIPTIONS S-UMMARIZE ALL ROBOT DESCRIPTIONS E-ND
COMMAND: ^J FOR HELP
327
1: DATABASE SYSTEM
(i START D LOAD/RUN
DATABASE PROGRAM
SUBSYSTEMS
ADD LIST UPDATE END DELETE SUMMARIZE
< •
KEY DEFINITIONS]
328
WHAT USER DOES CARSP RESPONSE
6. Type ANY ROBOT
USA
7 .
8 .
P r e s s
Type
RETURN
TEXAS TECH
DEPT, OF I . E . ,
CARIAR,
9 . P r e s s
1 0 . Type
RETURN
LUBBOCK
TEXAS, 79409
8 0 6 - 7 4 2 - 3 5 4 3
11. Press RETURN
The cursor now rests at CODE 01.
AiQATRBASE.EBT AOQ RBT I 2 M
n n r iNDEHTiFiCArioii: lAHT loior us* 1 MOTEl: HBTEZ:
CODE I t : COOEK: COOC 13: CQOE l « : CODE I S : CODE K : CODE 17: CODE I I : CODE 19: CODE I t : CODE 1 1 : CODE 12: CODE 13: CODE 14: COOC I S : COOElfi: CODE 17: COOE I t : C8>E19 :
TOftS TECH UmvEBSITY. OEPT. OF I . E . . C a i l l l . LUBBOCK. TQtAS 794M. 8 l t - 7 4 a - U t I
msaroi
1
The rest of the attributes are the actual robot descriptive parameters. They are numbered from CODE 01 to CODE 40. As a reminder, only the CODES and not the exact values of the attributes may be entered. Some of these attributes have a one attribute one code relationship, while others have a one code attribute - range relationship. To find out the codes to a given code number, maneuver the CURSOR to the desired code number and type CTRL-J.
329
WHAT USER DOES CARSP RESPONSE
12. As an example, to code attribute 13, press and hold CTRL key and press the X key until CURSOR rests beside CODE 13. The RETURN key may be used for this excercise if CURSOR is above the attri bute to be coded. Use CTRL-E keys if the CURSOR is below. Then press and Hold CTRL key and press J.
»• otrsMsr > i r mm i z w
lorar iROonFicaTioir i i i r n M r o t t i NOTEl: NOTE 2:
COOE I t : rOOE K : COOE 13: COOE l « : COOE 13: COOE I t : COOE 17: COOE I t : CODE B9: CQOE 11: COOE 11: COOE 12: COOE 13: CODE 1«: COOC IS: CODE IC: COOC 17: COOC 11: COOC 19:
TEXAS TECI UnVEISITT. OEPT. OF I . r . C I I I I I ^ LUIIOCK. TnAS7MM. ttL-1»i-JSIX.
COOC 11: VAUDCOOES-t OTIIEff WmEI OF AXES 11 NimEE OF AXES UHSTECinEir 21- 2 AXES 31 I AXES 41 4 AXES SI SAXES 61 6 AXES 71 7 AXES 81 8 AXES 31 9 AXES
inaroa*
I
The valid codes are on the first column of the valid code display, and the rest of the columns are the actual descriptions for the given robot attribute.
Since the value of CODE 13 (number of axes) to enter is 5-axis, find 50 as the valid code when the number of axes is 5 and enter it. The system has no way of checking that you have entered the right code value for the given- robot attribute. That is, the system does not know that you meant to enter 50 instead of 40. So make sure that your entries are correct. To correct any false entries, use the CTRL-Y key to to erase all entries for the given CODE and re-enter the correct code. Or, use the CTRL-G/T keys to erase one character or range of characters at a time. The system does, however, check that you have entered a valid code. So, while 10, 20, 30 and so on are valid codes for number of axes, they may not necessarily be correct codes for- the robot you are describing. Fifteen (15) is not a valid code for CODE 13 and can not be accepted by the system. Try entering a code that is not listed as a valid code and notice what happens. Entering an illegal code is an automatic CTRL-J.
To code Attribute 33, Type CTRL-C Use the RETURN key to move the CURSOR downwards or CTRL-E to move it upwards. Place the CURSOR at CODE 3 3 and type CTRL-J.
330
WHAT USER DOES CARSP RESPONSE
13. Type
CTRL - C
14. Place cursor at CODE 33 and type
CTRL I -|T|
^
*a*TiiKCHr aHiiriiN» i i n r i » |
COK 21: I CQK 2t: i COK 22: • COOf 21: I can 2«: • CODE 2S: I con 2(: I COOE 27- I COOC 21: I COOE 21: I COOE I I : I COOE It : 1 CODE IZ: • COOE I I : COOE I«: 1 CODE 13: I COOE I k I CODE 17: I COOE I I : 1 COOS Ifr I CQH4IC I
COOCII' VHI9 CODES 1 omiTtic vnnu mrsnctricr II v o i z vot voirtCE. 21 V>I2 voc voiratc I I v ( < i i i y ( C v o i T u r 4»' i i i<v<. i2 i VIC v a i n e r » I2i(*<'2ii VIC vo truc i l 2Ii<V(>]U VIC VOITUC 71 in«V<.««l ViC VOIITCE I t 4U<V(*)N VIC VOUIO. )t- v>]N VIC mrits.
331
WHAT USER DOES CARSP RESPONSE
15. Enter the valid code for the voltage requirement of 230 VAC
r
CODE 29: CODE 30: CODE 31: CODE 32: CODE 33: CODE 34: CODE .33: CODE 36:
v
>
0 0 0 0 50 0 0 0 y
Notice that if you had numbered the robot attributes, you would not have to be flipping between pages describing them.. You can just work down the codes in sequence skipping those attributes that have no code values until the last valued attribute has been coded.
To QUIT this exercise tions type CTRL-Q.
without saving the robot descrip-
WHAT USER DOES CARSP RESPONSE
16. Type CTRL - Q ABANDON ADDITION OF ROBOT DSC. • 200?
332
WHAT USER DOES CARSP RESPONSE
17. Type [Y] for YES and press
RETURN
TOTAL NUMBER OF ROBOT DESCRIPTIONS: 199
NUHBER OF DELETED ROBOT DISCRIPTIONS: 0
LAST UPDATED: 0 9 / 1 2 / 9 3
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTIN6 ROBOT DESCRIPTION
D-ELETE A ROBOT DESCRIPTION L- IST ONE OR ALL ROBOT DESCRIPTIONS
S-UMHARIZE ALL ROBOT DESCRIPTIONS E-ND
COMMAND: J FOR HELP
To SAVE t h e d e s c r i b e d r o b o t t o t h e d a t a b a s e t y p e CTRL-W
WHAT USER DOES CARSP RESPONSE
1 8 . Type
CTRL W TOTAL NUMBER OF ROBOT DESCRIPTIONS: 199
NUMBER OF DELETED ROBOT DISCRIPTIONS: 0
LAST UPDATED: 0 9 / 1 2 / 8 3
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTIN6 ROBOT DESCRIPTION
D-ELETE A ROBOT DESCRIPTION L- IST ONE OR ALL ROBOT DESCRIPTIONS
S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COMMAND: J FOR HELP
Using e i t h e r t he CTRL-Q or CTRL-W w i l l r e t u r n you to zr.e DATABASE Menu. For more robo t d e s c r i p t i o n s use the A-DD op t ion as many t imes as p o s s i b l e u n t i l a l l the r o b o t s have been d e s c r i b e d . Other segments of the DATABASE program a r e d e s c r i b e d below.
A: ADD SUBSYSTEM. 333
<r^
ENTER/CHANGE
ROBOT DESC.
N
N
N
HELP FILE
Y ^ ABANDON X . ADD/UPDATE?
• ^
3 3 4
(b) UPDATE SUBPROGRAM
The UPDATE s u b s y s t e m i s v e r y much l i k e t h e ADD s u b s y s t e m e x c e p t t h a t i n t h i s c a s e t h e r o b o t t o be UPDATEd a l r e a d y e x i s t s i n t h e CARSP sys t em d a t a b a s e . The r o b o t t o be UPDATEd must t h e r e f o r e have a r e f e r e n c e number . A l l r o b o t s i n t h e CARSP s y s t e m d a t a b a s e have r e f e r e n c e n u m b e r s .
WHAT USER DOES CARSP RESPONSE
TOTAL NUMBER OF ROBOT DESCRIPTIONS: 199 NUHBER OF DELETED ROBOT DISCRIPTIONS: 0
LAST UPDATED: 0 9 / 1 2 / 8 3
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L- IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
^ COHHAND: ^J FOR HELP J
19 . Type
flT] and
p r e s s
RETURN
TOTAL NUMBER OF ROBOT DESCRIPTIONS: 199 NUMBER OF DELETED ROBOT DISCRIPTIONS: 0
LAST UPDATED: 09/12/83
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COMMAND: ^J FOR HELP
ENTER THE NUMBER OF THE ROBOT DSC. YOU KANT TO UPDATE:
335
WHAT USER DOES CARSP RESPONSE
20. Type
[I][o][I] for this example and press
RETURN
The same screen as was seen in the ADD exercise is displayed. You can now follow the same instructions given in the ADD subprogram. The only difference in this case is that you are making changes (UPDATEing) instead of making an all new robot entry. Suppose in ADDing robot 100 to the database that you had mistakenly listed it as SERVO CP/PTP instead of SERVO CONTINUOUS PATH only. To correct this mistake here is what you do.
WHAT USER DOES CARSP RESPONSE
21. Press
RETURN
key till CURSOR is at CODE 01
A:DATABASE.RBT
ROBOT INDENTIFICATION: JDEVILBISS TR-3500S| NOTE i: NOTE 2:
CODE 01: CODE 02: CODE 03: CODE 04:
DEVILBISS COMPANY, THE 300 PHILLIPS AVE., TOLEDO, OH. 43692 50 30 70 10
UPDT RBT 1100
1 419-470-21691
1
336
WHAT USER DOES CARSP RESPONSE
22. Use
CTRL|-[T|
keys to erase the existing code entry of 50.
r A:DATABASE.RBT
ROBOT INDENTIFICATION: IDEVILBISS Tf{-3500Si NOTE l: IDEVILBISS COMPANY, THE NOTE 2: !300 PHIUIPS AVE., TOLEDO, OH. 43692
CODE 01: !S0! CODE 02: !30; CODE 03: 1701 CODE 04: 110!
UPDT RBT 1100
1 1
419-470-21691
J
23. Then use
CTRL| -[T]
to find the valid code for SERVO -CONTINUOUS PATH.
ftionausEJir unrnrii
lonr imanFiuriow: loniiBiss n-ism. | NOTE I: DEVILBISS Camwr. THE NOTE 2: 3 U PKlLUfS AVE.. TOlEaS. 01 . 43UZ.
CODE at : COOE K : I I COOEIX: 71 COOE 11: VILia COS? COOE 14: II • KotorsTsracussmrsRCiFiBt CODEtS: » II SEm-PKCISIOt COOE 1*1 SI 2* SEHB - COiTIIHUniS MT»-COOE 17: • » SEiro - PQIir T8 Pdiiir CODE 8 1 : 21 « • MM SEITO - POIRT T8 POIIT COOE Mr I 51 SEWB - CP/PTF COOE 11: • S i SEiVa - WWk S E I W - PTT COOE 11: I 7 i Savd - PTf/Wi SEIW - PTT COOE 12: • 8t iESEIVEB ^ ^ COOE 13: SI j r anaTTPESOFCQITnLSTSTEB' COOE ! • : 21 COOE 15: SI COOE IS: I CODE 17r i COOC I t : t COOC 19: •
41}->7Mia
337
WHAT USER DOES
24. Enter valid code of 20 for SERVO -CONTINUOUS PATH.
CARSP RESPONSE
• lomttsciir unri
mar lannFiaiTiinr |Difiiiis&Ti-i3iis^ i NOTE I : " NOTE 2 :
COOCII : COOE I Z : CODE » : CaOE S«: CQOE I S : COOE Ifis-CGOE 17 : CQOE 8 1 : COOE 8 f r COOE l l r COOE 1 1 : COOE 12: COOE 12: COOE 1«: COOE I S : COOE I S : COOE 17: COOE l i r COOE I t r
QE?ILBISS CQVMr. THE l i t PHILLIPS AVE.. TOUmr. 01;. «ttSC:
•
CQOE It: vHiacncr 1 i O m STSTER CLASS NrSPEnHBT l i SaVO - PIECIS1Q» Z i SEIVO - CaiTINUaOS PATH 3 i sEiTB - PoiiT TO pomr 4 i NONSEna-PoiirTiiPOiir Si SEIVi-CP/PTf Si SUV8 - CP/Nfl» SElVir-PTT 7 i SElVi - PTF/NOi S E H t - P T f 8 i RESEITES 3t. aiHES TTPCS OF CSiTIOLSTSIEI
i i r i i » i mnm. •
1 4i}-*;i-«ia|
25. Use CTRL W
keys to record t h i s change in the da tabase .
ENTER THE NUHBER OF THE ROBOT DSC. YOU NANT TO UPDATE D
26. E n t e r n e x t ROBOT NO. t o UPDATE, <CR> i f no more . (En te r RETURN fo r t h i s example)
TOTAL NUMBER OF ROBOT DESCRIPTIONS: 199 NUHBER OF DELETED ROBOT DISCRIPTIONS: 0
LAST UPDATED: 0 9 / 1 2 / 8 3
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L- IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-MD
COHHAND: ^J FOR HELP
This procedure can be used to make a l l the necessary changes on any robot cur ren t ly res id ing in the database . This subsystem i s not only useful for co r rec t ing e r ro r s but a l so for actual UPDATEing of robot a t t r i b u t e s . The manufacturer or user of a robot may some time in the future so rebui ld a robot tha t i t has more c a p a b i l i t i e s than i t had a t the time of i t s i n i t i a l entry in to the system's da tabase . The UPDATE subsystem can be used to record t h i s change.
A: ADD SUBSYSTEM.
338
T
ENTER/CHANGE
ROBOT DESC.
N
N
HELP FILE
Y
• ^
339
(c) DELETE SUBSYSTEM
There comes a time when it may be necessary to igno robots in future database search. This could be bee robots have become obsolete or have been discontinue manufacturer for one reason or another. The DELETE s could be used to tell the CARSP system not to consid robots in the future. The robots are not erased f database, however, and can be restored or UPDATEd ( to active file) . If there are several of such robot database, they may artificially inflate the size database thereby taking up more storage space. If yo mine that a given robot should be ERASED from the d use the UPDATE subsystem to recall the robot, then u special keys erase all the entries and ADD a new r its place.
re some ause the d by the ubsystem er these rom t.he returned s in the of the u deter-atabase, sing the obot in
To DELETE a robot from the database here is what you do.
WHAT USER DOES CARSP RESPONSE
TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 NUMBER OF DELETED ROBOT DISCRIPTIONS: 0
LAST UPDATED: 09/12/83
A-DD A ROBOT DESCRIPTION U-PDATE AN EHSTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COMMAND: ^J FOR HELP
J
27 . Type
and D
press
RETURN
TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 NUHBER OF DELETED ROBOT DISCRIPTIONS: 0
LAST UPDATED: 09/12/83
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UMMARIZE ALL ROBOT DESCRIPTIONS E-ND
COMMAND: ^J FOR HELP
340
WHAT USER DOES CARSP RESPONSE
28. En te r
nifoifoi
for this example and press
RETURN
TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 NUHBER OF DELETED ROBOT DISCRIPTIONS: 1
LAST UPDATED: 09/12/33
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UMMARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: J FOR HELP
D: DELETE SUBSYSTEM.
ENTER
ROBOT NUMBER TO DELETE
,1.1—,^
341
(d) LIST SUBSYSTEM
The LIST s u b s y s t e m i s used t o show t h e r o b o t s i n t h e d a t a b a s e i n a u s e r u n d e r s t a n d a b l e fo rm. You have t h e o p t i o n of LISTing t o a p r i n t e r t o o b t a i n a h a r d c o p y , o r LISTing t o t h e s c r e e n (CRT).
WHAT USER DOES CARSP RESPONSE
TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 NUMBER OF DELETED ROBOT DISCRIPTIONS: 1
LAST UPDATED: 0 9 / 1 2 / 8 3
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION
D-ELETE A ROBOT DESCRIPTION L- IST ONE OR ALL ROBOT DESCRIPTIONS
S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: J FOR HELP
29 . Type [JL
and p r e s s
RETURN
TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 NUHBER OF DELETED ROBOT DISCRIPTIONS: 1
LAST UPDATED: 09/12/83
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UMMARIZE ALL ROBOT DESCRIPTIONS E-ND
COMMAND: ^J FOR HELP
ENTER A SINGLE ROBOT DSC. NO., 2 ROBOT DSC. NO.'S SEPARATED BY A DASH, AN 'A' TO LIST THE ENTIRE FILE, OR (RETURN) TO RETURN TO MENU
i ^
WHAT USER DOES CARSP RESPONSE
30. Enter
for this example and press
RETURN
TOTAL NUFIBER OF ROBOT DESCRIPTIONS: :9« KUflBER OF DELETED ROBOT DISCRIPTIW(S: 1
LAST JPOSTE;: 0 9 / I : 33
342
\
ft-DO A ROBOT DESCRIPTION U-PJiTE AM ElISMNS ROBOT :E5:'!PT::'<
D-ELETE A ROBOT DESCRIPTION L-IST 3NE OR ALL ROBOT JEJC'IPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: 'J FOR HELP
V
ENTER fl SINGLE ROBOT DSC. NO., 2 ROBOT OSC. NO.'S SEPARATED BY 4 AN "A' TO LIST THE ENTIRE FILE, OR (RETURN) TO RETURN TO ««£NU IS OUTPUT BEING SENT TO PRINTER OR CRT CP' OR C')' SET UP THE PRINTER AND PRESS RETURN
DASH,
3 1 . E n t e r
f o r CRT and p r e s s
RETURN .
091283 ROBOT DESCRIPTIONS A:DAIABASE.RBT
ROBOT DSC. I lOO >•*<* DELETED •<<»« ROBOT INDENTIFICATION: DEVILBISS TR-3500S NOIE l: DEVILBISS COHPANY, THE
300 PHILLIPS AVE., lOLEOO, OH. 43692 NOTE 2: COOE 01: CODE 02: CODE 03: CODE 01: CODE 05: CODE 04: CODE 07: CODE 08: CODE 09: CODE lo: CODE ll: CODE 12: CODE 13: CODE M : CODE is: COOE 1&: CODE 17: COOE 18: COOE 19: CODE 20: CODE 2l: CODE 22: CODE 23: CODE U: CODE 25: COOE 24: CODE 27: CODE 28: CODE 29: COOE 30: CODE 31: CODE 32: CODE 33: CODE 3«: COOE 35: COOE 34: CODE 37: COOE 38: CODE 39: CODE 40:
30 50 30 70 10 90 90 0 20 0 0 0 0 40 30 50 0 0 0 0 40 10 80 0 0 30 20 40 10 0 10 70 0 50 30 20 0 10 20 0 0
419-470-2149
V_
SERVO - CP/PTP FINISHING OPERATIONS VISUAL/RANGE-PROIIHITY SENSORS YES: DIAGNOSTICS AVAILABLE R>.030' I R).740(1fl REPEAIA8ILITY PA>.030' ! PA>.740HH ACCURACY PAYLOAD IN P0UN03/KIL06RAHS UNSPECIFIED 5<LV(.10 IPS I 127(LV(>25i HHPS VELOCITY ANGULAR VELOCITY (DEGREES): NOT SPECIFIED HTBF (HRS OR V\ UNSPECIFIED HTTR (HRS OR 1): UHSPECIFIEO COORDINATE SYSTEH NOT SPECIFIED 4 AIES 20'<HR(M0' I 508HH<HR<M014HH H. REACH 40VVR<»80* I 1524HH(VR<:2032MH V. REACH ARH SNEEP lOESREES/IM/HH); UNSPECIFIED MRIST BEND/PITCH (DEGREES): UNSPECIFIED/UNAVAILABLE WIST YAN (DEGREES): UNSPECIFIED/UNAVAILABLE NRIST SKIVEL/ROLL (DEGREES): UNSPECIFIED/UNAVAILABLE 1000<N<»2000 LB8 I 454(N(.907 iB5 FS<=5 SO. FT. I FS<«!8.3 SB. H. ELECIROMIC/HICROPROCESSOR FYPES flEMQRt HEHORY CAPACITY (I STEPS.8YlES,PR0GfiAHS):UNSPECIFIED NUHBER OF I/O CHANNELS NOT SPECIFIED HYDRAULIC DRIVE LEADTHROUGH PROGRAH HETHOD ARC NELDING/SPRAY GUN ONE GRIPPER ONLY
SAFETY FEAIURES NOT SPECIFIED FLOOR MOUNTED 1FHED) 90000<C<"«IOOOOO COSI/ROBOI PONER CONSUHPTION: NOT SPECIFIED 12O(V<«230 VAC VOLIAGE VOLTAGE PHASE • 3 VOLTAGE FREB. • 40 HERTZ CURRENT lAHPERES): NOT SPECIFIED T<«32 DES. F ! r<=0 DEG. C HIN lEHP. 100<Hn< = i:0 DEB. F ! 40(11I('50 DEG C HAI TEHP. ENVIRONHENIAL HUHIDITY: NOT SPECIFIED TOLERABLE ADVERSE ENVIR0NHENIS:UHSPEC1F1ED
u » i PRESS ANY KEY 10 RETURN '3 "fllN HENU «•••
343
WHAT USER DOES CARSP RESPONSE
32. Press
RETURN TOTAL NUHBER OF ROBOT DESCRIPTIONS: 199 NUMBER OF DELETED ROBOT DISCRIPTIONS: 1
LAST UPDATED: 09/12/83
A-DD A ROBOT DESCRIPTION U-PDATE AH EXISTING ROBOT DESCRIPTION! D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UMHARIZE ALL ROBOT DESCRIPTIONS E-ND
COMMAND: 'i FOR HELP
344
(e) SUMMARIZE SUBSYSTEM
ALL The SUMMARIZE s u b s y s t e m i s u s e d t o l i s t t h e d a t a b a s e . L i k e t h e LIST s u b s y s t e m , c h o i c e o f CRT o r PRINTER. U n l i k e t h e LIST s u b s y s t e m , e v e r , t h e r o b o t s a r e l i s t e d i n t h e i r c o d e f o r m .
t h e r o b o t s m you a l s o h a v e a
how-
WHAT USER DOES CARSP RESPONSE
TOTAL NUMBER OF ROBOT DESCRIPTIONS: 199
NUMBER OF DELETED ROBOT DISCRIPTIONS: 1
LAST UPDATED: 0 9 / 1 2 / 8 3
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION
D-ELETE A ROBOT DESCRIPTION L- IST ONE OR ALL ROBOT DESCRIPTIONS
S-UMMARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: ^J FOR HELP
3. Type
S
and press
RETURN.
TOTAL NUMBER OF ROBOT DESCRIPTIONS: 199
NUMBER OF DELETED ROBOT DISCRIPTIONS: 1 LAST UPDATED: 0 9 / 1 2 / 8 3
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION
D-ELETE A ROBOT DESCRIPTION L- IST ONE OR ALL ROBOT DESCRIPTIONS S-UHHARIZE ALL ROBOT DESCRIPTIONS E-ND
COHHAND: J FOR HELP
IS OUTPUT BEING SENT TO CRT OR PRINTER C P ' OR '£')'> SET UP THE PRINTER, THEN PRESS RETURN
345
WHAT USER DOES CARSP RESPONSE
34. Enter
for CRT and press
RETURN
091283 A:DATABASE.RBT LIST OF ROBOT DESCRIPTIONS
(CLASSIFICATION FOLLOWS) NO. IDENTIFICATION 1 NUMAN I k II
20170130!10!50!50!50!40!OIO!OI40!50!70I80I70!30!0160160!40!
2 OIO!0!OIOIOI010I010!0!0!OIO!0!0!OIOIO!OIOI010!0!010!OIOIO!C
3 0!0!0I01010!010!0I010!0!010!0I0!0!0I0!0!0!0!0!0!0I0!0!010!C
4 ACROBE AG-4 10!8010110!10I10!2010!20!OI0140190I010!0!0!0!0!20190!80I301
52
53
54
55
56
CYBERVISION 20190180110!30I50I20150!010!OI10150!20!20!20!6010!70!60I3C
ROBOVISION 20180180!101501013015010180!10140150140150170130170!601011
AUTOHATIX AID-80 2018010!015010!3010101010140150130130!0!01010101010101011(
BENDIX ML-360 CNC 30190140110140170160170140190!101401601701901014012017018(
BENDIX AA-160 30190140110120130!40170160190!10130160150!80180150130170!I
TOTAL NUMBER OF ROBOT DESCRIPTIONS: 199 NUMBER OF DELETED ROBOT DISCRIPTIONS: 0
LAST UPDATED: 09/12/83
A-DD A ROBOT DESCRIPTION U-PDATE AN EXISTING ROBOT DESCRIPTION D-ELETE A ROBOT DESCRIPTION L-IST ONE OR ALL ROBOT DESCRIPTIONS S-UMMARIZE ALL ROBOT DESCRIPTIONS E-ND
COMMAND: J FOR HELP
^
346
WHAT USER DOES CARSP RESPONSE
35. Enter and <CR> to Exit the DATABASE program.
RETURNING TO MAIN MENU: PLEASE NAIT
c
ENTER COMMAND : V
»«f**f«***«««»*«»«*f«
1 ENTER SYSTEM COMMAND 1 /»f*««*«****««««ff««ff*«f«*\
! 1 DATA BASE MANAGEMENT 1 2 ROBOT SELECTION/MATCH 1 3 ECONOHIC ANALYSIS 1 4 USER INFORMATIONS/INSTR. 1 0 END OF SESSION \**««««««M««««f«*f««»t*«*f/
The CARSP system system by entering program.
MENU is displayed and you can 0, or any other key to work on
exit the a specific
As final notes on the DATABASE programs, you can not write beyond the right hand bar of the ADD or UPDATE tables. This is the system's way of controlling the number of information furnished for these robot attributes.
Normally you should be able to INSERT characters without erasing the already existing character. If this is true tne existing characters will be moved to the right. If not, you have accidentally turned OFF the INSERT switch. To turn it ON:
Hold down the CTRL key and press V once. The words INSERT ON should appear at the top right of your screen. If they not, repeat the CTRL-V command.
-- '
(2) ROBOT SELECTION
347
This s e c t i o n of t h e CARSP sys t em i s d i v i d e d m e n t s . The SELECTION s u b s y s t e m a l l o w s you d a t a b a s e f o r r o b o t s w i t h a s p e c i f i c t y p e of o r r o b o t s m a n u f a c t u r e d by a s p e c i f i c company sys tem a l l o w s you t o d e s c r i b e a t a s k t o t h e t h e t a s k v a r i a b l e s f o r a d a t a b a s e s e a r c h of t o pe r fo rm t h e t a s k .
i n t o two s e g -t o s e a r c h t h e c o n t r o l s y s t e m ,
. The MATCH s u b sys t em and u s e
r o b o t s b e s t a b l e
If you came t h i s f a r from t h e d a t a b a s e program c o n t i n u e , e l s e b r i n g up t h e MENU program by p e r f o r m i n g t h e f i r s t 5 s t e p s of t h i s MANUAL. Then, t o RUN t h e SELECT program h e r e i s what you d o .
WHAT USER DOES CARSP RESPONSE
/
ENTER COHHAND : V
**********************
! ENTER SYSTEM COMMAND 1
! 1 DATA BASE MANAGEMENT 1 2 ROBOT SELECTION/MATCH 1 3 ECONOMIC ANALYSIS I 4 USER INFORMATIONS/INSTR. 1 0 END OF SESSION \»f •#§•«••••##••••••••••••/
\
J
1. Enter Option LOADING ROBOT SELECTION PROGRAM PLEASE WAIT
ROBOT SELECTION OPTIONS
1 SEARCH A DATABASE by type of Robot CONTROL SYSTEH (ROBOT CLASS) 2 HATCH A TASK TO A ROBOT by type of APPLICATION
3 RESERVED 0 RETURN TO MAIN MENU
ENTER COMMAND:
348 A) ROBOT SELECTION: By type of Control System
To do a database search of robots with a given type of control system enter the 1 option. As an example, to search the database for robots manufactured by CINcinnati Milacron here is what you do. (Similarly, to search for robots of any control system, just enter the number corresponding to the desired control type).
WHAT USER DOES CARSP RESPONSE
Enter B 1 2 3 4 5 6 7 3 9 A 0
SEARCHING DATABASE BY ROBOT CLASS
SERVO PRECISION SERVO CONTINUOUS PATH SERVO POINT TO POINT NON-SERVO POINT TO POINT SERVO CP/SERVO PTP SERVO CP/NON-SERVO PTP SERVO PTP/NON-SERVO PTP RESERVED NOT IMPLEMENTED OTHER TYPES OF CLASS COMPANY NAME Ist 3 LETTERS RETURN TO HENU
ENTER COHHAND:
DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX:
B:PRECISON.NDX B:CONPATH.NDX B:SERVOPTP.NDX B:NONSERVO.NDX B:SCP-SPTP.NDX B:SCP-NONS.NDX B:SPTP-NON.NDX B:RESERVED.NDX B:OTHER-CL.NDX B:COMPANY.NDX
3. Enter A
to search
by Company Name.
1 2 3 4 5 6 7 3 9 A 0
SEARCHING DATABASE BY ROBOT CLASS
SERVO PRECISION SERVO CONTINUOUS PATH SERVO POINT TO POINT NON-SERVO POINT TO POINT SERVO CP/SERVO PTP SERVO CP/NON-SERVO PTP SERVO PTP/NON-SERVO PTP RESERVED NOT IMPLEMENTED OTHER TYPES OF CLASS COMPANY NAME Ist 3 LETTERS RETURN TO MENU
ENTER COMMAND:
DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX:
B:PRECISON.NDX B:CONPATH.NDX B:SERVOPTP.NDX B:NONSERVO.NDX B:SCP-SPTP.NDX B:SCP-NONS.NDX B:SPTP-NON.NDX B:RESERVED.NDX B:OTHER-CL.NDX B:COMPANY.NDX
ENTER THE FIRST THREE LETTERS IN THE COMPANY NAME. EXAMPLE: THE XYTZ COHPANY ==> XYT; AND, ABCD MANUFACTURING ==> ABC
COMPANY NAME:
349
WHAT USER DOES
4. Type [C1[I][N] r and press
CARSP RESPONSE
RETURN ,
SEARCHING ROBOT NO.: SEARCHING ROBOT NO.: SEARCHING ROBOT NO. SEARCHING ROBOT NO.: SEARCHING ROBOT NO. SEARCHING ROBOT NO.. SEARCHING ROBOT NO. SEARCHING ROBOT NO. SEARCHING ROBOT NO. SEARCHING ROBOT NO.
*
«
SEARCHING ROBOT NO.
63
1 2 3 4 5 6
: 7 8
: 9 ; 10
: 63
HILACRON T3-756 CINCINNATI MILACRON, 215 S. NEST ST., LEBANON, OH. 45036 513-932-4400 20!90!90ll0i5010!50140!0!0!0!40!60!701901701601301901801301 8013010!10180180101501I017010170t30!20!0120120101901 SEARCHING ROBOT NO.: 64 64
HILACRON T3-566 CINCINNATI MILACRON, 215 S. WEST ST., LEBANON, OH. 45036 513-932-4400 20190180!10!9010!501601010!OI40160!70190150!0!201401801501 8013010130180180101501101601017013012010120120101901
SEARCHING ROBOT NO,: SEARCHING ROBOT NO.: SEARCHING ROBOT NO.: SEARCHING ROBOT NO.: SEARCHING ROBOT NO.: SEARCHING ROBOT NO.: SEARCHING ROBOT NO.:
193 194 195 196 197 198 199
marv
350
WHAT USER DOES CARPS RESPONSE
INPUT TEST FOR INDEX WRITTEN FOR COMPANY NAME ROBOTS
HILACRON HT3
ROBOT f 63 64 65 66 67 68 69
MIIMRCQ HP
DESCRIPTION HILACRON T3-756 MILACRON T3-566 MILACRON T3-586 MILACRON T3-726 MILACRON T3-746 HILACRON T3-776 MILACRON HT3
cnpnTQ FniiwTi > 7
TYPE P TO SEND OUTPUT TO PRINTER OR RETURN TO CONTINUE:
Press
RETURN
r
1 2 3 4 5 6 7 8 9 A 0
SEARCHING DATABASE BY ROBOT CLASS
SERVO PRECISION DATA INDEX: SERVO CONTINUOUS PATH SERVO POINT TO POINT NON-SERVO POINT TO POINT SERVO CP/SERVO PTP SERVO CP/NON-SERVO PTP SERVO PTP/NON-SERVO PTP RESERVED NOT IMPLEMENTED OTHER TYPES OF CLASS COMPANY NAME 1st 3 LETTERS RETURN TO MENU
ENTER COMMAND:
DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX: DATA INDEX:
B:PRECISON.NDX B:C0NPATH.NDX B:SERVOPTP.NDX B:NONSERVO.NDX B:SCP-SPTP.NDX B:SCP-NONS.NDX B:SPTP-NON.NDX B:RESERVED.NDX B:OTHER-CL.NDX B:COMPANY.NDX
w
351
The found robots are saved in a file named B:COMPANY.NAME and can be accessed using normal CP/M procedures. You can enter any other choice to search for the robots with the given type of control system, or enter 0 to exit the SELECT program. Realize, however, that repeating the database search by COMPANY name will destroy the first file and replace it with the new one created by the the last search. If the last search was unsuccessful, then no robot will be in that file. The robots found by using the SELECT program can be called up using the LIST subsystem of the DATABASE program, and the robot numbers as discussed ealier.
WHAT USER DOES CARSP RESPONSE
6. Press [o]
L
ROBOT SELECTION OPTIONS
1 SEARCH A DATABASE by type of Robot CONTROL SYSTEH (ROBOT CLASS) 2 MATCH A TASK TO A ROBOT by type oi APPLICATION 3 RESERVED 0 RETURN TO MAIN MENU
ENTER COMMAND:
7. P r e s s [oj RETURNING TO MAIN MENU PLEASE WAIT
ENTER COMMAND
1 ENTER SYSTEH COMMAND 1 /f«««f*««t««««f*«««««t«««»«\
1 DATA BASE MANAGEMENT I 2 ROBOT SELECTION/MATCH 3 ECONOMIC ANALYSIS 4 USER INFORMATIONS/INSTR. 0 END OF SESSION
J
352
2: ROBOT SELECTION SYSTEM.
(i START )
LOAD/RUN
SELECT PROGRAM
SUBSYSTEMS
SELECTION MATCHING MENU
N
2 : SELECTION- BY TYPE OF CONTROL SYSTEM,
353
SELECT OPTIONS
1. SERVO PREC.
0. SELECT MENU
LIST
ROBOT FILE
ENTER
COMPANY NAME
Y SEARCH DATABASE SAVE ROBC
SETUP PRINTER
354
B) TASK MATCHING
This section of the CARSP system allows you to describe a task to the system and use the task variables to search the database for the robots that are best able to perform the task. This requires that the task be described to the system in the same manner that you would describe a robot. It is not expected, however, that the task would require up to 40 attributes for description. You only have to use those attributes that apply to the task and are codable in the CARSP system.
Some task attributes have direct one-to-one relationship with some robot attributes while some like lot sizes, cycle times and layout dimensions do not. If your task has these variables, the CARSP system has a way of matching the.T, tio a robot attribute.
To run the TASK MATCHing program bring up the MENU program as described earlier. Then access the SELECT program using the 2 option. Then use the 2 option of the SELECT program to access the TASK MATCHing program.
To describe the task of Appendix C here is what you do.
WHAT USER DOES
r C A R S P R E S P O N S E
1 ENTER SYSTEM COHHAND 1
1 DATA BASE MANAGEMENT ! 2 ROBOT SELECTION/MATCH 3 ECONOMIC ANALYSIS
I 4 USER INFORHATIONS/INSTR. 0 END OF SESSION
ENTER COMMAND :
1. Enter option |_2j LOADING ROBOT SELECTION PROGRAM PLEASE WAIT
355
WHAT USER DOES CARSP RESPONSE
ROBOT SELECTION OPTIONS
1 SEARCH A DATABASE by type of Robot CONTROL SYSTEH (ROBOT CLASS) 2 HATCH A TASK TO A ROBOT by type of APPLICATION
3 RESERVED 0 RETURN TO MAIN MENU
ENTER COHHAND: \>.
2 . E n t e r
option [2J LOADING ROBOT-TASK MATCHING PROGRAM PLEASE WAIT
CHOOSE DESIRED ROBOT APPLICATION CATEGORY
1 ASSEMBLY/INSPECTION: APPLICATION INDEX 2 ARC-NELDING APPLICATION INDEX 3 FINISHING OPERATIONS: APPLICATION INDEX 4 MACHINING OPERATIONS: APPLICATION INDEX 5 SPOT WELDING: APPLICATION INDEX 6 MACHINE LOAD/UNLOAD (CNC): APPLICATION INDEX 7 MACHINE LOAD/UNLOAD (DIE): APPLICATION INDEX 8 MATERIAL HANDLING: APPLICATION INDEX 9 OTHER TYPES OF OPERATIONS: APPLICATION INDEX 0 TO RETURN TO MAIN MENU
ENTER COMMAND:
BlASSEMBLMNS B:WELDING.ARC B:FINISHNG.OPT B:MACHINE.OPT B:WELDING.SPO B:MACHLOAD.CNC B:MACHLOAD.DIE B:HATERIAL.HDL B:OTHERTPE.OPT
Choose the task group you are interested in. The robots found in the remainder of this exercise will be saved under the file name at the end of your task group choice. As an example, if you chose ARC WELDING, the robots found will be saved under a file named BrWELDING.ARC and can be accessed as explained earlier.
^
356
WHAT USER DOES CARSP RESPONSE
Enter [T] for FINISHING OPERATION.
CHOOSE DESIRED ROBOT APPLICATION CATEGORY
1 ASSEMBLY/INSPECTION: 2 ARC-WELDING 3 FINISHING OPERATIONS: 4 MACHINING OPERATIONS: 5 SPOT WELDING: 6 MACHINE LOAD/UNLOAD (CNC): 7 MACHINE LOAD/UNLOAD (DIE): 8 MATERIAL HANDLING: 9 OTHER TYPES OF OPERATIONS: 0 TO RETURN TO MAIN MENU
APPLICATION APPLICATION APPLICATION APPLICATION APPLICATION APPLICATION APPLICATION APPLICATION APPLICATION
INDEX: INDEX: INDEX: INDEX: INDEX: INDEX: INDEX: INDEX: INDEX:
B:ASSEMBLY.INS B:WELDIN6.ARC B:FINISHN6.0PT B:MACHINE.OPT B:WELDING.SPO B:MACHLOAD.CNC B:MACHLOAD.DIE BlHATERIAL.HDL BlOTHERTPE.DPT
ENTER COMMAND: <• FINISHING OPERATION
It has been deteriined that ability of the robot to successfully cosplete certain tasks is a function of it's speed.
If your task variables include lot size, cycle ti»e and layout analysis enter C-ARSP for systei calculated robot linitua acceptable speed.
Otherwise enter U-SER for user specified liniiui acceptable speed.
4. Enter for lotsize declaration.
The purpose of this section of the CARSP systea Mas to give you, the user an opportunity to analyze your layout intended for robotic installation.
The systea has been designed to handle only up to 4 «achine layouts. Choose the applicable layout in your case and enter the values as proapted by the systei.
One of the assuaptions lade in this routine is that the nuaber of operations are either equal to the nuaber of lachines or 1. That is, if you specified 3 •achines, either all the aachines ^rs identical or they are all different.
In the first case the lachines therefore perforsi the saie task and each part visits only one aachine
In the second case the lachines perfori different tasks and each part or task aust visit, or be perforaed on, each aachine.
Also, assuae that the aachines and the IN and OUT conveyor belts lie on the arc described by the robot's ara sweep.
ENTER RETURN KEY TO CONTINUE:
^
357
Read t h e i n s t r u c t i o n s of t h i s s e c t i o n of t h e s y s t e m . Then e n t e r t h e v a l u e s of t h e t a s k v a r i a b l e s a s p rompted by t h e s y s t e m . A f t e r you have e n t e r e d t h e c y c l e t i m e d e s i r e d , t h e sys tem w i l l now load t h e s p e c i f i e d l a y o u t f o r more d a t a i n p u t
WHAT USER DOES CARSP RESPONSE
5. E n t e r RETURN
Then e n t e r t a s k v a r i a b l e s and <CR> a f t e r each e n t r y .
ENTER C-ELL OR L- INE FOR LAYOUT TYPE:
ENTER THE NUMBER OF MACHINES:
ENTER NUMBER OF PRODUCTS:
ENTER NUMBER OF TASKS OR OPERATIONS:
ENTER LOT SIZE FOR PRODUCT 1 :
ENTER HANDLING TIME/UNIT FOR PRODUCT 1 (SECONDS):
• Ml 1
. _ >
A
11
f •
t 1
1 IN 1 1 1 1 1
/
/
2
5/
•
1 M2 «
i I
/
( R
1
?
\
)
\
3 \
5\
1 M3 1 < - - _ — *
A
1 1
14 1 1
• .
lOUT 1
L
\/\/ \/\/
Consider the above 3 aachine CELL-type layout. Enter the distances in the order proated by the systea.
ENTER VALUE OF DISTANCE 1 IN THE LAYOUT (INCHES):
358
WHAT USER DOES CARSP RESPONSE
6. Enter the values of the layout dimensions specified.
r ENTER VALUE OF DISTANCE 2 ENTER VALUE OF DISTANCE 3 ENTER VALUE OF DISTANCE 4 ENTER VALUE OF DISTANCE 5
IN THE LAYOUT (INCHES): IN THE LAYOUT (INCHES): IN THE LAYOUT (INCHES): IN THE LAYOUT (INCHES):
• I
1 Ml 1 < - . — . '
A
11
1 1 1 1
! IN 1 1 1
/
/
2
5/
•
1 M2 < _ —
i I
/
( R
. 1 1
>
\
)
\
3 \
5\
> 1
1 H3 1 * - . — . '
A
14
• 1
1 1
lOUT 1 1 1 1 1
\/\/ \l\l
The Miniaua Speed required for this task is : 15 in /s . The code for th is value should be used as the LOMER bound for the speed. I t aay be repeated as the UPPER bound to achieve equality constraint. ENTER RETURN KEY FOR OTHER TASK DESCRIPTIONS OR R TO REDO THIS ANALYSIS:
The speed calculated is the barest minimum needed to successfully complete the task just specifed. This speed value can be used as the lower bound value when coding the task in the next page. It can also be used as an upper bound value to express an equality constrai it, or a higher value may be used to establish the upper bound. To return to the rest of the task variables, enter <CR>.
• * " ^
3 5 9
WHi .T USER DOES CARSP RESPONSE
7. Enter
R E T U R N
CHOOSE DESIRED ROBOT APPIJCATION CATEBORY
1 ASSEMBLy/INSPECTlON: 2 ARC-WEUIN6 3 FTNISHIH8 OPERATIONS: 4 MACHININ8 OPERATIONS: 3 SPOT WELDIN8: 6 MACHINE LQAO/UNLOAO (CNC}: 7 MACHINE LOAO/UHLOAO (DIE}: a MATERIAL HAN0LIH6: 9 OTHER TYPES OF OPERATIONS: 0 TO RETURN TO MAIN MENU
ENTER COWIAHO:
APPLICATION INDEI APPLICATION INDEI APPLICATION INDEI APPLICATION INDEI APPLICATION INDEI APPLICATION INDEI APPIICATIDN INDEI APPLICATION INDEI APPLICATION INDEI
B:ASSE?»BLY.INS 3:)(EU}INe.ARC B:FINISHN8.flPT 9:flACHINE.0PT BIXELDINS.SPO 3:HACHLOAD.CNC 3:nAaiOAO.DiE BIHATERIAL.HOL
BIOTHERTPE.OPT
The menu screen of tihe TASK MATCHing program is displayed again. Choose the exact task group as in Step 3 above. You are again given a choice of U-ser or C-ARSP defined Speed values. Since you already used the C-ARSP option, and de-cer-mined the lotsize, etc., relationship, you may now excercise the U-ser option to access the rest of the task variables.
WHAT USER DOES
r CXSRS RESPONSE
S a. Enter for FINISHING OPERATION
CHOOSE DESIRED ROBOT APPLICATION CATE5QRY
I ASSEMBLY/INSPECTION: 2 ARC-«eUIN8 3 FTNISHIN8 OPERATIONS: 4 MACHININS OPERATIONS: 3 SPOT XELDINS: 6 MACHINE LQAD/UNLQAO (CNC): 7 MACHINE LOAD/UNLOAD (DIE}: 3 MATERIAL HAN0LIN6: 9 OTHER TYPES OF OPERATIONS: 0 TO RETURN TO MAIN MENU
ENTER COMMAND:
APPLICATION APPLICATION APPLICATION APPLICATION APPLICATION APPLICATION APPLICATION APPLICATION APPLICATION
INDEI: INDEI: INDEI: INOEl: INDEI: INDEI: INDEI: INOEl: INOEI:
B:ASSE?IBLY.INS 3:)1ELDIN6.ARC 3:.nMISHN6.flPT 3:.MACHINE.OPT 3:)(aDIN8.SPQ 3:.1ACHL0AD.C.NC 8:.MACKL0AO.:iE 3:MATERIAL.HDL 3:0THERTPE.flPT
< — FINISHIN6 OPERATION
it haa been datiraxntd that ability of tftf rooot to iuccmfuilv coaoiett csrtaii. taiki is a function oi i t ' i spttd.
If your talk variables indudt lot si:i, cydt tiat and layout analviis enter C-ARSP for sy'tea caicuiited robot iiniiua acce^tablt ?peed.
Othtrwisa tntar U-SER for user soecifiid iiniaua jccwtabit spttd.
»v
360
WHAT USER DOES CARSP RESPONSE
9. Enter U
for User defined Speed.
CHOOSE DESIRED ROBOT APPLICATION CATE60RY
1 ASSEHBLY/INSPECTION: APPLICATION INDEI: 2 ARC-NELDIN8 APPLICATION INDEI: 3 FINISHIN8 OPERATIONS: APPLICATION INDEI: 4 MACHININ8 OPERATIONS: APPLICATION INDEX: 5 SPOT MELDIN8: APPLICATION INDEX: 6 MACHINE LOAD/UNLOAD (CNC): APPLICATION INDEI: 7 MACHINE LOAD/UNLOAD (DIE): APPLICATION INDEX: 3 MATERIAL HAN0LIN6: APPLICATION INDEX: 9 OTHER TYPES OF OPERATIONS: APPLICATION INDEX: 0 TO RETURN TO MAIN MENU
B:ASSEHBLY.INS B:)IELDIN8.ARC B:FINISHN6.0PT B:HACHINE.OPT B:MELDIN6.SP0
B:MACHLOAD.CNC
B:MACHLOAD.OIE
B:MATERIAL.HDL
B:OTHERTPE.OPT
ENTER COHHAND: < — FINISHIN6 OPERATION
The Codes and Descriptors in the NEXT paqe have been used to represent the robots in this DATABASE. For the chosen application, YOU will be required to use these attributes to describe a task. Enter the desired ranqe of values for each attribute Nhen proipted.
ENTER RETURN KEY TO CONTINUE OR R TO RESTART:
10. Enter
RETURN li«totCim(H.4n
3 Tiipaot SiMars(77n)
S RtfMtakilil9(9l.9t) ( Positn. Accurtt (i8.£Zl 7Pi9ioa«()3.n) 8L.nMrVitKiii)<7S.4» 9 ()ii9ilvVtlociti)(Z(.7t)
I I I.T. 8. F. Ui.m I I I.r. T. B. (22.U) izcow. si»itt«(jt.i:) 13 n^m-o* AitsOI.SX) 14Ntnzntat tncJi(M.lt) IS Vtrtictt Itwk (31 IU l iar»SMtt<(6.7t) 17 Urist BwMritcli)(4f.7» I I U r i f t r n ( 12.81) 19 Hrift lotUSiivtiXSI.m 21 ItM/Coiitrtt HI. ()2.SU
21F?o»SpL:iMilt.<l&in
22 towf Tn* ( n . m 23 RMWf Ctpacitf O t . m Z« M«. 1/0 CtaMit (2l.7tX 2S0ri««Tr«ia(lt.2n 2& Proqrsif. Ntthods (9«.4t) 27St4. E(ft<tan(7I.8t) 28 Nuakirof Crppn. (» .4X) 29 Silc<4 Features (S7 » ) 3illOttal 1119 Positn. (72.32) 31 Cast: Rolot Uiiit(B2.U) 32 Pour ConsuiptioR (4 l .7 t ) narnvtinf voito9*(8«.tt) 34VoitOf«Ph«s*(8«.U) 3S Voltsft Frunm^ (7l.3t) 3( OMT^inf Current ( I 8 .» ) 37 Rin Emiro*. Tcap (4».7I) I I Rn Emtros. T M » (5i.3U »Hw<«ityBM9*<11.3X) 4IHvsliEmirw.(I«.4X) - ^ ,a amirtiMflit i f ilw ••« of nek •ttrital* it th* Protabilitf ••
r i . ! X . . « i * « l i i r t l « l . El f tKWOTTICnrnMfc.
361
WHAT USER DOES CARSP RESPONSE
11. Enter
RETURN
once you have read the instructions displayed.
1 lakal Ctoss ( H 4t) 2 applicotiom (K .n ) 3 Tupn of SMSOTS (77 !t) • Oittaos. Akiliti) (92.32) S 8(fMtikilili)(38.n) S Positn. flttura(9(U.2Z) 7 PofioaA (93.n) 8 LiOHr Velocity (7S.4» 9 Aii9«lirVelociti)(2fi.7:)
11 I.r. 8. F. (2S.7:) 11 i.r. T. 9. (22.U) 12 Coor4. Si stcn (».3Z) 13 Nuatarof Aics (J8.SZ) 14 Horizontal KMCII (64 U ) 15 Vertical «et«h (59.81) 16 AraSicef (66.7Z) 17 Urist atii4<Pitch)(49.7Z) ISUrist ro«(32.8t) 19 Wrist Soll(Sai«en(S5.4t) 21 totot/Contrls Ut. (}2.8t)
21Ff«arSp.:taB»f.(N.BX W-t-tmik ITTXilJEii^^^^^^^H
23 Rtawf Ca»acilf (St.Stl 24 N*. 1/0 C U M I S (2l.7n 23 Oriva Traia (tt .2» 2( Pro raaf. Rathate (94.4U 27 St4. EHMtort ( 7 I . m 21 Naafew-of U$pn. (3S.4X) 29 Ssltt9 Faatoras (S7.9t) 38 Routing Positn. (72.3X1 31 Cast: Kotot Uait(82.It) 32 Poaer Coasaaption (40.7X1 33 aparotinf Voltof* (84.01 34 VolttfcPNasa (84.lt) 35 Voltofc Frc^aaac) (70.3X1 IS Optratinf Current (U.SX) 37 Rin Enviro*. Tea (4t.7X1 I I Rax Eaviro*. Teap (3I.3U I9Haai4it9 8a9»(l l . IXl 40 Hirsti Eiwiro».(34.4X)
TfM MT* -w-k— "« otlr.bulM m iMCil!|. tl» ! • « • ^ " - • » •» | rotots that or* aiatltbla for COMI4I •ratio*.
Determine the number of attributes of the task you are describing that correspond to those displayed on the screen for the robots in the CARSP system database. Then enter that number as the "number of attributes you want to SORT by". Notice that lotsize, layout variables, etc. are all treated as one atttribute of the robot (i.e. Speed). For the example problem, therefore, the number of attributes to SORT by is 3. The number in percentages at the end of each attribute indicates the probability of finding a robot in this database for which the given attribute was defined (i.e. has a value other than zero). Ideally, the more attributes you specify, the less this probability becomes.
362
WHAT USER DOES
12. Enter |T]
and press
CARSP RESPONSE
RETURN
1 latol Clan (94.4X) 2 RppticatioM (H.9X) 3Ti|p*o» StMors(77n) 4 0ia9aas. Afeilit) (92.3X) 5 8cfeatakiliti |()8.n) S Positn. Accurotn (».2X) 7 Pofloa* (93.n) 8 Linear Velociti)(7C4t) 9 AM9BlorVelacitt)(26.7t)
10 n.T. 8. F. (26.;t) 11 O.T. T. 8. (22.U) 12 Coor*. Sijsten(90.3X) 13 Nuatarot Aies (J8.3X) 14 Horizontal Keacli ( (4 .U) 15 Vertical Beach (S9.8X) IS Am Sacef (6S.7t) 17 Urist Ben4(Pilch)(49.7X) 18 Urist roa (I2.8X) 19 Urist Boll(Sai«en(S5.4t) 21 Bofeat/Contrls lit. (92.8Z)
2t FtaarS^:lMtf.(8lLBI. 22 R 23 Raaarf Conacitf (9e.3XI 24 Na. I/O Ckaanait (21.7X1 23Dr.«aTrain(80.2X) 25 Proymy. Ratfeain (94.4X1 27 St4. EtfKtort (71.8X) 2IN«afearof ^rffrv. (SS .m 29 Saleli) Features (37 n ) lORoiMtmf Positn. (72.3X1 31 Cast: Bofeat Uait(82.U) 32 Poaar Caasaaptioa (40.7X1 33 Oparat.nf Voltaic (S4.su I4Velt(4tPliasa(84.U) 15 Voltifc Frc^aenc9 (71.3X1 IS Operating Current (I8.5X) 37 Rift Environ. Teap (4S.7X) IS Raz Environ. Tea* (31.3X) I9Huai4it9Baa9t(11.3X) 40 H«sk Emiran.(34.4Xl
E i r a MST siaiFiCRiir BOSOT AmiinTr FOI F i i i a w o r a o n s f c 01 I TO BESET ^
Enter these a t t r i b u t e s in t h e i r descending order o tance u n t i l a l l the a t t r i b u t e s have been entered, erase any entry by using e i t h e r the CTRL-H key or arrow ( < — ) key. To find out the v a l i d code a t t r i b u t e , use the CTRL-J keys , and to redo a l l e s t a r t , enter the R key. As an example, to code a t t r i b u t e Speed, Enter 8. Then enter the CODE for ca l cu la ted e a r l i e r as the LOW CODE and the code des ired upper bound value as the HIGH CODE.
f impor-You can the l e f t
s for any ntry from the task the speed
for the
WHAT USER DOES
13. Enter 3
CARSP RESPONSE
1 Rokot Clais (94 4t) 2 Apflicatioaa (SS.n) 3Tw»o« S«MV« (77 9X1 4 Diafaaa. RMIilf (92.1X1 3 Bi»artafeililf (S0.9X)
CQOE I I VILUCOOB
21 Floor S». II0M119 i ia c»i 22l)eaan|T((pn(93.3t) 23 Ranarf Copacitf (9*. 3X1 24 R*. I/O Claaaats (2I.7XX 2SDriv»Tr«ia(SI.2X)
I Liicii VELOCITT (ixcKS/RRLiRnEn): u i s r c c m a I I L» (= 5 IPS I LV (= 127 »RW VELOCITT 21 5(LV{*I0 IPS I 127(L¥<r2J4 RRTS VELOCITT I I 10<LV<=20 1PS 234(LV(=5SO RRW VELOCITT 41 20<LV<=I0 IPS ;n(LV(=7(2 RRTS VElOCITr SI 3KLV<=40 IPS 7S2(LV<=tSIS RRTS vaOCITT 61 40<LV(=3IIPS 1BI((LV<=I27I RRn VaOCITT 71 SO(LV<=SI IPS I27KLV(=I324 RRfS vaOCITT s r (0<LV<=7I IPS 1324<LV<=l77t RROS VEUUTT 9 t LV}7I IFS I LV}177I RSR VELOCITr
O n n CmC VSUE (MCC OF Liiiaap Vtlocilo (7C.4X) F9i FIIISIIK QfounK. iOamU: 21.0*40.». ETC. Eira CTIL-i'^ai NOP) (LUVMUfc ' NIQimUE: ): - i Fit NOF
363
WHAT USER DOES CARSP RESPONSE
14. Enter
CTRLI -[J]
keys to find the va l id codes .
1 Botot Class (94 4X) 2 Ap9licatioM()S.n) 3 Tspn ol Season (77 9X1 4QiG9NS. Abilit()(92.3X) SBe9tatskilit()(3l.n) S PosilR. Accurati) (M.2X) 7 Po looA (93.9t) 8 Linear Velocitt|(7S.4t) 9An9ilarVelociti)(2S.7X)
10 O.T. 8. F. (2S.7:) 11 I.r. T. 8. (22.U) 12 CoorA. S4Sten(».3X) 13Haatarol Aies (38.51) 14 Horizontal Beach (&4.U) 15 Vertical BeacH (59.8X) 16 AraSoce9(6S.7X) 17 Urtst 8en4(Pilch)(4».7X) 18yristY«.(I2.8X) I jy r is t Boll(Sai«l)(55.4X)
22 Raaarf Tfp* (9I . IX) 23 Raaarf Capacitf ( 9 t . i n 24 Ra. I/O Ctaanatt (21.7X1 23 0ri««Tr«i«(SI.2X) 25 Pro^raaf. RatMB (9* .4U 27 St«. Elfecton (7I .St l 28 Noafear of Crf«r«. (35.4X1 29 Safety Featuras (37.9X1 38 Roaatinf Positn. (72.3X1 11 Cost: Botat Uai((SZ.lX) 12 Poaar Coasaaptioa (41.7X1 13 Oparetinf Valtaf* (84.SX1 14 Volt«4cPhas«(84.U) 13 Voltofc FfunMCf (71.1X1 15 Operat I nf Current ( I I . 3X1 17 Rin Ewiro*. Teap (44.7X1 18 RoK Efl»iro«. Teip (31.3X1 19 HBai4iti)Ban|»( 11.3X1 40 Horsk Ewriron.(I4.4X)
EITEi COOE VALUE BANCE OF L ' ^ J ^ ^ ^ " ' ! ' * „ j ^ , , (EXOmE: 20.0.40.90. ETC E8TEE CTIt-J FOI HElf» (LOVVMJIE: HIOIVRUIE:. ) : « i FW " u r
15. Enter CODE for minimum speed and
RETURN
ENTFT COOE VMUE BINCE OF Linear Veiociti| (7S.4X) FOi F l l i a i l C OTOin (EXOWIE: 20.0.40.90. ETC. EKTCI CTIL-J FOI HELP) (L0» VRIUE: I I HICH VRIUE: _ ): -J FOt RElf
16 . E n t e r CODE f o r uppe r l i m i t on speed and
RETURN
ENTrr COOE VILUE BRNCE OF Linear Valoeitg (7S.4X) FOI FI I ISI I IC OFOin (EXtMtE: 20.0.40.90. ETC. ERTEI CTBL-J FOI HELP) (LOU VM.UC: I I HIU VRUIE: 40 ): >J FOI HEtf
Enter the next s i g n i f i c a n t a t t r i b u t e of the task and Code the r e s t of the task v a r i a b l e s in t h i s manner.
364
When the LEAST SIGNIFICANT attribute of the task has been coded, the CARSP system will then search the database for
echoed to the screen application category examine these echoed restart the program, the database has been
MATCHing robots. Any robot found is and saved in a file named after the chosen. To interrupt the program and robot codes, type CTRL-S keys, and to type CTRL-Q. Once the whole robots in exermined, the found robots are tallied and echoed back on the screen by their identification name and reference number in the database. If you do not have a PRINTER connected, take note of the robot numbers and use the RETURN key to exit to the MENU program.
WHAT USER DOES CARSP RESPONSE
SEARCHING ROBOT NO.: I SEARCHING ROBOT NO.: 2
147 SEARCHING ROBOT NO.: 147
PROBOT POSITECK CORPORATION, RUSH LAKE RD., LAURENS, lA. 50554 712-845-4548 40!30I40!20!70170I90140!0!0!0!50I60!70I30!80110I40I70!60!20! 70I010130I40I90I0I0!1016010110!10120150I0I20I0130I
PROBOT POSITECK CORPORATION, RUSH LAKE RD., ORDER CODE! 1 8 2 2 3 ''1
LAURENS, lA. 50554 VALUE LONCODE 40 30 30 30 20 10
SEARCHING ROBOT NO.: 148
HICODE 40 30 70
712-845-4548 ROBOT l« 147
INPUT INDEX FOR FINISHING OPERATION ROBOTS WRITTEN
ROBOT I 147 162
DESCRIPTION PROBOT SERIES s n
NUHBER OF ROBOTS FOUND > 2
TYPE P TO SEND OUTPUT TO PRINTER OR RETURN TO CONTINUE:
^v
365
If only one (1) robot was found in this excercise, it may be used as the target robot, otherwise, an economic analysis model may be used to choose the most viable robot from among the competing alternatives. From the above table, it can be seen that 3 robots were found that could perform just described. Therefore, further analysis is Economic analysis is used for this purpose and the be accessed from the MENU program.
the task required, model can
The ECONOMIC analysis model does not accept in more than 10 robots. Therefore, if the robots more than 10, you may want to redo the tas excercise to reduce the number of robots found done by tightening the constraints declared, number of constraints used or both. For examp using a LOW CODE of 10 and a HIGH CDOE of 90, be used depending on the direction of the in straint. A <= constraint may require a 10/ constraint may require 30/90. Once this restr isfied, enter the 0 key to exit to MENU.
put values for found above is k description
This can be increasing the le, instead of a 10/60 could equality con-6 0 while a >= iction is sat-
WHAT USER DOES CARSP RESPONSE
17. Enter
RETURN
CHOOSE DESIRED ROBOT APPLICATION CATEGORY
1 ASSEMBLY/INSPECTION: 2 ARC-NELDING 3 FINISHING OPERATIONS: 4 NACHINING OPERATIONS: 5 SPOT MELDING: 6 HACHINE LOAP/UNLOAD (CNC): 7 MACHINE LOAD/UNLOAD (DIE): 8 MATERIAL HANDLING: 9 OTHER TYPES OF OPERATIONS: 0 TO RETURN TO HAIN HENU
ENTER COHHAND:
APPLICATION INDEX APPLICATION INDEX APPLICATION INDEX APPLICATION INDEX APPLICATION INDEX APPLICATION INDEX APPLICATION INDEX APPLICATION INDEX APPLICATION INDEX
B:ASSEMBLY.INS B:MELDING.ARC B:FINISHN6.0PT B:HACHINE.OPT B:MELDING.SPO B:HACHLOAD.CNC B:MACHLOAD.DIE B:MATERIAL.HDL B:OTHERTPE.OPT
366
WHAT USER DOES CARSP RESPONSE
1 8 . E n t e r [O t o e x i t
• t o MENU RETURNING TO MAIN MENU PROGRAM PLEASE MAIT
TEXAS TECH UNIVERSITY
CENTER FOR APPLIED RESEARCH IN
INDUSTRIAL AUTOMATION AND ROBOTICS
A
C C C A CC C A A
CC AA A CC AA A AA CC C AA A
C C C AA A
RR R R R S S S S RR R SS
RR R R R R S S S S RR R SS
RR R S SS RR R S 5 S S
PP P P P PP P
PP P P P P PP
PP PP
(Coiputer Aided-Robot Selection Procedure)
/-
\
ENTER COMMAND :
! ENTER SYSTEM COMMAND ! /••f«*##«##*«##*#*f«f»»#\
I 1 DATA BASE MANAGEMENT 1 2 ROBOT SELECTION/MATCH ! 3 ECONOMIC ANALYSIS I 4 USER INFORMATIONS/INSTR. ! 0 END OF SESSION
y
2 : TASK MATCHING SUBSYSTEM. 367
Q 2 : START 1 I
LOAD/RUN
TASK MATCH PROGRAM
^r<^ TASK GROUPS
1 . ASSEMBLY/IN «
9 . OTHER
N
• ^ H
M 9
'"««m^K
~- ~ T'li~l W ' 1 H « — I • I -.oAaaw-.'.
CONTINUED.
368
2^
NvT
CHOOSE
ATTRIBUTES
DEFINE
CONSTRAINTS
SEARCH
DATABASE
CONSTRAINT TOO TIGH'
wMpn^X
369
2 2 : CONTINUED.
PRINTER V^ 0/T? .
PRINT TASK FILE
v > r SETUP PRINTER
•«i|iaNi>^
2 ^ : CONTINUED.
2 ^ : LAYOUT ANALYSIS.
370
fe START )
ENTER
LAYOUT TYPE
ENTER
NUMBER OF MACHINES
ENTER
TASK PARAMETERS
N
N
•mmmmmmm • ^
22: CONTINUED.
2^: CONTINUED.
371
ENTER LAYOUT
PARAMETERS
ROBOT SPEED
ENTER
[RETURN/R]
N •W M
N
^^ 2
mmmmfm^imm^
372
(3) ECONOMIC ANALYSIS
ECONOMIC analysis is the decision rule used in the CARSP system to choose between two or more robots that have otherwise satisfied the task constraints. To use this model:
1. The file for the application (task) category for which the analysis is desired must have been created. This can only be accomplished through the TASK MATCHing program.
2. The variables for the analysis are known a priori.
WHAT USER DOES CARSP RESPONSE
ENTER COMMAND : L
! ENTER SYSTEM COMMAND I /fftfffft*»*ff**«*********«\
1 DATA BASE MANAGEMENT I 2 ROBOT SELECTION/MATCH 3 ECONOMIC ANALYSIS
I 4 USER INFORMATIONS/INSTR. 0 END OF SESSION
1. Enter | option I 3 J I ENTER SYSTEM COMMAND !
/»«ff«*««ff**f«*«»*«*«*««#*\
1 DATA BASE MANAGEMENT 1 2 ROBOT SELECTION/MATCH 3 ECONOMIC ANALYSIS
I 4 USER INFORMATIONS/INSTR. 0 END OF SESSION \ * * * * * * * * * * * * * * * * * * * * * * * * * * /
ENTER COMMAND :
The Econoiic Analysis routine requires that the desired robot group files be created first.
If this has not yet been done use option 2 above. Then use the Task MATCHING Option to define a task. ENTER COMMAND:
^v
373
WHAT USER DOES CARSP RESPONSE
2. Enter option
|T| if file
already exists.
r^ LOADING ECONOMIC ANALYSIS PROGRAM •••• PLEASE MAIT "••
L
>
__-•
3. Supply the task informations requested and press
RETURN
ENTER NUMBER OF TASKS EACH ROBOT MILL PERFORH: E.G., PAINT, DRILL, LOAD/UNLOAD. ETC. ENTER NUMBER OF PRODUCTS TO BE PRODUCED: E.G., FLATS,BOLTS,FRAHES. ETC.
ENTER LABOR RATE IN DOLLARS/HR: CHOOSE SETUP OPTION 1 BY DAYS 2 BY MEEKS 3 BY MONTHS ENTER COMMAND: 3
ENTER SETUP FREQUENCY PER MONTH (E.G., 2 FOR TMICE A MONTH, ETC.):
1 CHOOSE ANALYSIS GROUP
1 ASSEMBLY/INSPECTION 2 ARC MELDING 3 FINISHING OPERATIONS 4 MACHINING OPERATIONS 5 SPOT MELDING 6 CNC TYPE HACHINE LOAD/UNLOAD 7 DIE TYPE MACHINE LOAD/UNLOAD 8 MATERIAL HANDLING 9 OTHER TYPE OF APPLICATIONS 0 TO RESTART OR E TO EXIT
ENTER COHHAND:
374
WHAT USER DOES CARSP RESPONSE
4. Choose desired application category. For this example, [T] is entered.
ECQMIIC AMLYSIS FOI IWtt 1 U 7 < — p n i s r
11. i m
iNiEsmircasr
ENm COST OF BISIC UIIT FOI ROUr 1 1 4 7
1
5. Enter the Invesment Cost variables for the robot whose database number and identification are shown on the screen.
ECONOnC AIMIYSIS FOI ROROr > 147 < — PRoaar
I I . 1 3 I »
IHVESmEIIT COST
ant COST QF BASIC UMIT F N ROBOT • 1 4 7
COST OF SPECIAL TOOIIHC AND PERIPHERat EBUIPREHT FOI ROBOT 1 4 / QOIHC TASK: I
COST FOR PLAMNINC AttO COMSULrATIOII OUE Ttt ROBOT 147
COST FOR IHSTRLLArrOII AHB STMTHJP DUE TH ROBOT: 1 4 7
OTHEE I W E S T l E i r COSTS OOE TO ROBOT 147
lOpmiisnctnsr.uaiTi
71 It
I I
I X
C V 3 3
• /
375
WHAT USER DOES CARSP RESPONSE
ECONQIIC AIMIYSIS FOI ROBOT • 147 < — PROBOT
11.1919
QVERHEAQ COST
EHTEI ftV6. MWTEJIANCE CQST/Y». FOR ROBOT: 147
I f yott enter 9 an«/or RETURN CARSP t i l l use St OF ROBOT'S basic cast.
ommsnc wsT.uniT|«ssi innq
'
V
6. Enter Overhead cost variables for the same robot
ECOHORIC ANALYSIS FOR ROBOT • 147 < — PROBOT
ll.l3i»
QvonEBBcosr
EHTEI AVC. niNTERMCE COST/Tf. FOR ROBOT: 147
I f t |w enter • aa^or RETORI CAISP t i l l use S I OF ROUT'S k a i c cost.
cosr pgia SOPPLT (R/YR) FOI RQIOT: 147
N U n a r OF RMRTEIMCE PEISOnO: I COST FOi RETHIMIIC PEfSOUEL I :
roTiL cosr imiErr LRHI FOI ROIS^ 147
TonLOTKioiaKiftcisis: Konr-} 147
OmRISTIClMSTHKLYlPESSWISnCI
^^
376
Repeat steps 5 and 6 until all the competing robots have been accounted for. Then enter the Production cost values.
WHAT USER DOES CARSP RESPONSE
piooacnoM cosr
EHTER QERANI/YR FOI PROOOCTI
o m i i s n c wsT.uKLTjFEssnBnci
<
7. Enter the Production cost values. IQrniisnciTOST.LinLTi
PIOOaCTTON COST
EHTER aEROMUYR FOI PROOOCT 1
SETUP TIRE OUE TaPROlIBCr I
CYCLE TIRE PER PART FOR PROOOCT I INGLUOES HANOLIMC k OPESATIOi TIRES:
S E I W H R E DUE TO OPEMTIOI L
WIW^.II s .
377
WHAT USER DOES CARSP RESPONSE
u r i Qprmsnc Hisr.urELT PESSIRISHC
147 i m U lUlBZ. l l l»7
i t t i m i t luiz i 1II13S
E(cn
llllBt
llllZZ
v(cn
4t.llll
38.827?
ERGIIEnB Tl KSnir 01E TO EXIT:
Choose the robot viable robot.
with the least E(CT) value as the most
WHAT USER DOES CARSP RESPONSE
8. Enter S to exit to the MENU program.
/
^
RETURNING TO MAIN MENU PLEASE WAIT
~ \
^
^\
378
WHAT USER DOES CARSP RESPONSE
TExu m» uKivnsm c o m F N APPLIED RESEMCH IK
innSTIIAL AUTOMTIOII AND tOBOTIt.
• I I R I I SSSS f • • 11 > SS
M A I I I R R I SSSS PP M A i » I I I SS
A I I I S SS PP • I I I SSSS
(Ciifntar AiM4atot Salactiea ProtcAvc).
r
t»ttmm»mn:ttt I ENTER SYSTER CORHANO |
/n»x»st»»»mtxttt»t\ 1 DATA BASE RANACENENT 2 ROBOT SELECTION/NATCH 3 ECONORIC ANALYSIS 4 USER INFORRATIOHS/INSTR I END OF SESSION
\tusuunmxt»mmxu/ EHTEI CORIRNO : _
9. Enter 0
to EXIT the CARSP system. EXITIHC CARSP SYSTEII
Ef* a OF S E S S I O N
y ^
3: ECONOMIC .ANALYSIS SYSTEM.
379
d START 1 1
ENTER
SYSTEM VARIABLES
I TASK FILES
1. SERVO PREC •
9. OTHER
ENTER
COST VARIABLES
CHOOSE
ROBOT WITH MIN E(CT1
N
FILE NOT IN SYSTEM
"*-\
APPENDIX C
EXAMPLE QUESTIONAIRE FOR INTERACTIVE EVALUATION
380
381
CARSP SYSTEM QUESTIONAIRE
This questionaire is designed to help in the evaluation of a software system used for selecting robots for a manufacturing environment. Your answers are therefore confidential and will be used only as a research tool. Please answer the questions as objectively and completely as you possibly can. (NOTE: A=NOT AT ALL, B=A LITTLE, C=MODERATELY, D=QUITE A BIT, E=EXTREMELY)
OCCUPATION:
COMPANY NAME:
MANUFACTRING PROCESS EXPERIENCE (E.G., WELDING,PAINTING, ETC.)
YEARS OF EXPERIENCE:
COMPUTER PROGRAMMING SKILL
B D
FORTRAN BASIC SNOBOL PL/1 COMPACT II APT OTHER:
1. 2. 3.
KNOWLEDGE OF ROBOTICS:
HAVE YOU OPERATED A ROBOT BEFORE? YES NO
FOR HOW LONG?: YEARS > < = i > = 5
ABILITY TO USE SOFTWARE PACKAGES:
"\
382
SOFTWARE PACKAGES YOU HAVE USED
B SPREAD SHEET: WORDPROCESSOR: FINANCIAL MGR.: SIMULATION SYSI OTHERS:
1.
?EM:
2. : 3. :
NAME:
WERE THESE 1 : SOFTWARE 2 PACKAGES 3 EASY TO USE?: 4
NAM!
WERE THESE 1 SOFTWARE 2 PACKAGES USER 3 FRIENDLY?: 4
WHAT DID YOU LIKE THE
WHAT DID YOU LIKE THE
J •
MOS 1. 2. 3. 4.
LEA 1. 2. 3. 4.
T ABOUT THE SOFTWARE PACKAGES?:
ST ABOUT THE SOFTWARE PACKAGES?:
WERE ANY OF THESE PACKAGES OF THE EQUIPMENT SELECTION TYPE?
YES NO
IF YES NAME OF SOFTWARE PACKAGE: 1 2 3 4
m-mmtmmmKxm «^v
383
CARSP SYSTEM: TEST PROBLEM
Perform the following tests using the CARSP system segments indicated. Please read the instructions given within each section carefully before proceeding to work in that section.
1) Use the DATABASE System to:
a) ADD the given robot to the database. (See Robot Specification Sheet on Page 2)
b) DELETE the robot just ADDed. c) UPDATE the robot DELETEd. d) LIST the same robot and obtain Hard Copy.
2) Use the SELECT System to:
a) Find robots of the SERVO - PRECISION Class i) Number of Robots Found =
11) Enter Robot Numbers Seperated By Commas.
b) Find robots made by Cincinnati Milacron i) Number of Robots Found =
ii) Enter Robot Numbers Seperated By Commas
3) Use the TASK MATCHING System to:
a) Match the given task to robots. (See Task Variables on Page 3) i) Number of Robots Found =
ii) Enter Robot Numbers Seperated By Commas
4) Use the ECONOMIC ANALYSIS System to analyze the robots found in (3).
(See Economic Analysis Variables on Page )
5) Choose robot based on MINIMUM EXPECTED TOTAL COST E(CT)
i) Enter Robot Number Chosen.
ii) Use LIST Subsystem to list Robot Chosen. (Obtain Hard Copy)
384
ADD
ATTRIBUTE NO
CODE: 1
4
5
7
8
9
12
13
14
15
16
17
19
20
21
22
23
24
25
26
29
32
33
37/38
DESCRIPTION VALUE
Robot Class: Servo - Precision
Diagnostics
Repeatability
Payload Capacity
Linear Velocity
Angular Velocity
Coordinate System
Number of Axes
Horizontal Reach
Vertical Reach
Arm Sweep
Wrist Bend (Pitch)
Wrist Roll (Swivel)
Robot Weight
Floor Space Reqmnts
Memory Type
Memory Capacity
Number I/O Channels
Drive Train
Program Method
Safety Features
Power Reqmnts.
Voltage Reqmnts.
Min./Max. Temperature
Yes
+ .008"
22.05 lbs
39.4 'Vs o
180 /s
Jointed/Spherical
50.4 "
69.6 " o
300 o
180 o
300
1100 lbs.
14 Sq. Ft
Electronic
1000 Pts.
32 In/Out
DC - Servo
Teach Pendanr
Emergency Brakes
18.5 KvA
23 0 VAC
•0/50 C
X
385
TASK MATCHING PROBLEM
TASK VARIABLES:
1)
2)
Application Category:
Operation Variables: a) Layout Type b) Number of Machines c) Number Products: d) Number of Tasks: e) Lot Size/Product: f) Handling Time/Part
FINISHING OPERATION
CELL 3 1 1 200 PIECES 20 SECONDS
LAYOUT FOR PROBLEM
ENTER THE FOLLOWING LAYOUT DIMENSIONS.
IN SPEED FOUND
ENTER RETURN (** CONTINUED ON NEXT PAGE **)
386
1) Enter APPLICATION Category
2) Use _U-ser OPTION for the Task Variables
3) Number of ATTRIBUTES = 3
1) Application: (Use Application Category CODE for both LO & HI Values)
2) Maximum Floor Space Available: 60 SQUARE FEET (Use CODE for 10 Sq. Ft as LO & for 60 Sq. Ft. as HI)
3) Linear Velocity: (Use CODE for Speed found earlier as LOW, & IMMEDIATE higher CODE as HIGH values)
**** CARSP WILL NOW SEARCH DATABASE FOR VIABLE ROBOTS ****
RETURN TO PAGE , QUESTION 3
***** EXIT TO MAIN MENU *****
ECONOMIC ANALYSIS
1) Number of Tasks:
2) Number of Products
3) Labor Rate:
4) Setup Option:
5) Setup Frequency:
6) Analysis Group:
$10/HOUR
MONTHLY (3)
ONCE (1)
FINISHING OPERATIONS
387
FIRST ROBOT FOUND
INVESTMENT COST
1) COST FOR BASIC ROBOT UNIT:
2) COST FOR SPECIAL TOOLING:
3) COST FOR PLANNING:
4) COST FOR INSTALLATION:
5) OTHER INVESTMENT COSTS
OPT,
60
2
3
5
6
(COSTS M IN 000 .LKLY
70
3
3
5
6
OF $ )
PESS.
80
3
3
5
6
OVERHEAD COST
1) AVERAGE MAINTENANCE COST/YR: 0
2) COST OF POWER SUPPLY/YR: 3
3) NUMBER OF MAINTENANCE PERSONNEL: 1
4) RETRAINING COST/PERSONNEL: 5
5) COST OF INDIRECT LABOR: 7
6) OTHER OVERHEAD COSTS:
0
3
5
8
5
0
3
5
8
5
388
SECOND ROBOT CHOSEN
INVESTMENT COST (COSTS IN 000 OF $)
OPT. M.LKLY PESS
1) COST FOR BASIC ROBOT UNIT
2) COST FOR SPECIAL TOOLING:
3) COST FOR PLANNING:
4) COST FOR INSTALLATION:
30 40 50
5) OTHER INVESTMENT COSTS 7 7
OVERHEAD COST
1) AVERAGE MAINTENANCE COST/YR: 0
2) COST FOR POWER SUPPLY/YR: 2
3) NUMBER OF MAINTENANCE PERSONNEL: 1
4) RETRAINING COST/PERSONNEL: 5
5) COST OF INDIRECT LABOR: 8
6) OTHER OVERHEAD COSTS:
0
2
5
8
6
0
2
5
8
6
PRODUCTION COST
1) DEMAND/YEAR FOR PRODUCT 1: 500
2) SETUP TIME DUE TO PRODUCT 1: 10
3) CYCLE TIME/PART FOR PRODUCT 1: 20
4) SETUP TIME DUE TO OPERATION 1: 15
500
10
20
15
500
10
20
15
389
CARSP SYSTEM QUESTIONAIRE
Having used'the Computer-Aided Robot ^election procedure (CARSP), please answer the following questions as objectively and completely as you possibly can. (NOTE:A=NO OPINION, B=STRONGLY DISAGREE, C=DISAGREE, D=AGREE, C=STRONGLY AGREE).
A B O D E CARSP SYSTEM WAS EASY TO USE:
CARSP SYSTEM WAS USER FRIENDLY:
COMPARED TO SOFTWARE PACKAGES YOU HAVE USED: CARSP SYSTEM WAS EASY TO USE.
COMPARED TO SOFTWARE PACKAGES YOU HAVE USED: CARSP SYSTEM WAS USER FRIENDLY.
THE CODE DEFINITIONS OF THE CARSP SYSTEM WERE SUFFICIENT FOR UTILIZATION:
THE USER INFORMATIONS &_ INSTRUCTIONS WERE EXPLICIT AND HELPFUL:
THE PROGRAM ARCHITECTURE WAS EASY TO UNDERSTAND:
WHAT AREAS OF THE SOFTWARE WOULD YOU LIKE TO SEE IMPROVED?
AREA IMPROVE.lENT
1. CODE DEFINITIONS:
2. USER INFORMATION/INSTRUCTIONS:
390
3. PROGRAM ARCHITECTURE:
4. OTHER: SPECIFY.
5. ADDITIONAL COMMENTS:
WHAT DID YOU LIKE THE MOST ABOUT THE CARSP SYSTEM?:
WHAT DID YOU LIKE THE LEAST ABOUT THE CARSP SYSTEM?:
FROM YOUR KNOWLEDGE OF ROBOTICS & MANUFACTURING PROCESSES, THE FORTY CODES WERE:
1. NOT EXHAUSTIVE 2. FAIRLY EXHAUSTIVE 3. MODERATELY EXHAUSTIVE 4. EXHAUSTIVE 5. REDUNDANT
WHAT DO YOU THINK IS MISSING FROM THE CODING SYSTEM?:
WHAT DO YOU THINK SHOULD BE DELETED FROM THE CODING SYSTEM?
WHAT DO YOU THINK IS MISSING FROM THE CARSP SYSTEM IN GENERAL?:
391
WHAT KIND OF CONTRIBUTIONS DO YOU THINK THE CARSP SYSTEM CAN MAKE TO YOUR DECISION MAKING PROCESS?:
IF YOU HAD A CHOICE BETWEEN YOUR PRESENT EQUIPMENT SELECTION METHOD AND THE CARSP SYSTEM, WHICH WOULD YOU CHOOSE?:
HOW LONG DOES IT TAKE YOU TO REACH A DECISION USING YOUR METHOD?
HOW LONG DID IT TAKE YOU TO REACH A DECISION USING THE CARSP SYSTEM?
WHAT DOES IT USUALLY COST YOU TO DO AN EQUIVALENT ANALYSIS USING YOUR PRESENT SYSTEM?
WHAT WOULD IT COST YOU USING THE CARSP SYSTEM?
iMiiaiiiiKMicv
APPENDIX D
STRUCTURE OF THE OPITZ CODING SYSTEM
392
3 9 3
>-cr <
z UJ
tu
a. a. D in
UJ
Q O U 1 5
Aat jnaav
s|«ijai«uj AA«j fo uuo^ |wiiiu|
| t u « i a ^
tuoiauauiiQ
.r "3 •£ a a £ e e o i - • £ f = 5 0
<
^ 1 -3 < o
- « c
5 = J» •=
•t 0.
ca • c
• u -r c « .S ^ r X
LU
Q O U
< u
lU
o UJ
as O •a
a e C
5 5 |
« « a a • <« M
•= -= e
•s 5 £ £ - . 2 s « «
= o * a _ •
•a o c
(N O •
« 0 • "3 £ a X « c ? £ £ • w >
— • 0 - » v t 5 0 <
a a c
• u r « r J : a, 3
(A
Mac
«
',9lt^
ion
in
ir
ala
IS
I
r •= c « =
LU
o _ o > 2 : J 5 5
a = e u ; c fl : fl ~ —
« • a a fl 10 M
w - =
Hi a Ul
= s a c "•
Q Q. «
;; £ < J
u
U9
o
o - . Q
•a
s > 0
9
. £ V)
c o
— fl
5 I
-.IQ
~ fl
5 1
^ Q
9
a
t}u«ucKjujoo jvuouatoy
CN n LO
, c
u
< I 03.7
3 C
3 ; -J 3
3 u
< | a ]
3
u
u
S t U A U O a u j O Q i B u o i i e i O j - i i O M
CO r CO (D
394
UJ Q O U
TR
ICA
L
EO
ME
a
'5i 5 X
51
O X
a Q •0
5 i
a c
5>
••
• ^
c •
"M
X 0
3 <
•
3 .s U) X
2 SJ is
a « a a a fl <•
•= -C c
• 1 £ c £ • S « • i -
• a a 3 . fl a «
X X -WJ - S
"i c = 5 » 0 a 2 "5
^
• c •
£ u 0
(J
> •
3 1 a 0
z
0
a a
-1 ^ c 3 X
^1
0
a « e 0 '— c — "S"? c
— -s a a a
m * a a > -0 X fl
£ -0 a 15 2 o> = 5.5 - 2 =
«« 0 e - • a • • > to
• ^ X a •S "3 * i 2 w — fl s 2 a =
• " * C a V to
"a c
^ ! • ~ " u 5 : -g ° "= 2 "r a :! 5 f 2 2 | 5 u s e a to n a a \
is Mtaaijasb ou
^ -
e a — 0 -o a a
" u •-2 a u £ " • ^ a -
•fl 3 2
« -0 Ui C
a
»—
(N
• X U 0 5 'T;
rlii 3 0 -O • c e a a 3 c a 0 - g 5 1 2 2 a 2 3 « a "2
UJ a 2 ^ a
rsj
CO
a >
a : 1 | to ^
2 = UJ
n
'3-
Ex
iein
al
tplin
a
an
d/o
r P
oly
go
n
^
"fl » E • 5 : 2 a :: — to <j a 0 • to. V. = ? •0 "S 2 c - = a 9 z
_• -5 -3 fl a > • c •= a .3 •a M N. a a "0 « 0 = -3 a «
1
U5
a U to fl 0
~ V a 3 "D C •• c .r a fl a
5 S " - •§ a • * to Q
2 1 -• a
Ui
ir3
1
1 to
«< X
to » 3 9 a " ••
• «
— c • 9 « > -a 0
a
a "3 to V 9 IJ
0
giaai jaao uii>v\
0
a fl
e a fl .
• Q . = _ \ fl -3 -.
c z ' 2 " e
;o
r- 1
a I ~ > 10" ^
30
"fl _ = 3
2 - 5 X = 3 •5 - s.
K _; ' c 9 -g
r CO
3
3
0
•«
0
CT
a 0 X
a — 3 0 0 X
l | 3 3 0
X
3
0
a a a
X
•t <•
2 =
e a
£ 0
lA
a
^ I Q
^luauoa
1 0
a "
X 2 " c 0 • e a
a a
£x 1 1
a to u •
c •
c a 3
pug auo 01 paddais JO g ioo ius
r - 1 CM
1 = 2 a - £ c a
"0 a a
x |
II to u a
n
a C a
X ^ >
> U 9
1 -
CIIOOUJS JO
OU9 auo 01 poddais
^ - CN
n V
V
0
(n „
- 1°
cn
e 0
^ a > a •a
(S
J I Q
ujoQiBuoaejoypot is loy
1 - CN 1 n
a •
• '1 i £ 0 ^ c •
|«asa« ipug u
T
a •»
•1 •= c « c 0 ^ C a
( S 9 S 8
spug u
^
c 0
•* a > a
•0 X
1 (M
-.IQ
^
TJ a <
X 2 i 1
a to u m
I J 3 U I a i d
t o o o t p i
UD
•fl fl a
€ X
11 a to u m
SJ3UI a i d
loq 01 p
m
m
0 3 c •T 3 C 2 - "
u) 3 C S O
u
U l
" f l C 9
X 3 > z ^ 0
J u 0
3 ra
nnyrjl »ddais
to
a fl
c
_3
U
e 3
0 1 r»
fl = 9
J 0 a
J ^
i l | " V M l
addais
1 0
a a a
"fl e 0
u
3
r
1
2 <»
l<|u c 0 n (J
u K l c D
c a C 0 a
1 " c 3<\o 1 d u j o o
(^ r*
: -3 fl 2 9 _3
d ~
00
3 3 •g
2 3 s _£
( 5 "
03
•« ^ 0 *
5
= < i | a
'•J r i
3 U < l C D
J - 10 J J O N
J ^
a
— ^ : 3 5 u C —
C o ;
,
02
fl
- M •< •'^ • . -I u 9 3 -^ - *" 0 0 5
1 ^ — — ^
— • •• c -
S 2 =
3 2 3 1= ?
3 , ^ | u
•^JO^J
395
o
o 2 o o u 2 ta > 5 ^ 5 s 3 U u <
a
u &
<0
u a
ecu
< 0 2
o
N
-
m
CNI
«
n
«
' 't
n fl
s M
in
•
and
N
CO
IO
and
r«
r^
»
and
n
CD
z w
to
r4
O)
Q fl to
n
: c o I k
< ^ 2
j >
u a 2 • OB
fl C 3 O
K
o
X 9
4
3 o SC
' -
• • •
M k e
• •1 e o a 9 s ;
il a
CN
9 e 2 3
CO
fl
i S . 0
a
a E < •
nr
a a X M
•
Ifl
a
la a
nd S
a
CD
a c
2 0 o u
r
> X e • Hi
< fl a fl ? S
00
• c a e e a C
U fl a C
u a E a
CT>
fl e
MA
TE
RIA
L
Caa
t Ir
on
o
Mo
du
lar
gra
ph
itic
caa
t
Iron
arM
i mal
laab
ia c
ast
iron
9^
e S "o c • o • •• • » d
v / f S z
10
CN
• 3 | *§ 5
•V • d
§ si • o ^
*» 2 ? • a -S
•* fl
n
Sta
ala
2 a
nd 3
Haat
trea
tad
' ^
fl a
: : •» r
2
LT:
Allo
y S
laal
Haa
t tr
aa
lad
CD
No
n-l
arr
ou
a M
ala
l
r*
Ug
hl
Allo
y
00
Olh
ar M
aia
ria
lt
05
<
k s Ui ^
Ul 0 Ul
1 ^ 5 O
Ul
m X u
•
s
00
o v
o r . /*
O
e f^
v 00
o A
e
^Jf o r>r
A
--
O w
e f«i
A
s \7 o to
A
CN
I B
«
e • A
o «o
v s A
CO
o o
V/ IO
« A
o to I N
v/ o
A
"^
o «o
o o
A
s
o «N
A
LD
o IO or
e « A
s v §
A
CD
o o V
V, o IO
/',
§ 'v
s I B
A
r
o o OD
o o
/
s o r<i
O o o
CO
o o 00
o o o «>J
0 )