Handbook of Advanced Robotics
Handbook of Advanced Robotics
Handbook of Advanced Robotics
ADVAACCD
ROBOTICS
DV EDWARD I. JAPPORD, JR.
HAflDBOOK OP
ADvnnccD
ROBOTICS
Other TAB books by the author :
HAHDBOOK OP
ADVAACED
ROBOTICS
DV EDWARD I. SAPPORD, JR.
FIRST PRINTING
Edward L.
Safford,
Handbook of advanced robotics.
Includes index.
1. Automata. I. Title.
TJ211.S24 629.8'92 82-5697
ISBN 0-8306-2521-6 AACR2
ISBN 0-8306-1421-4 (pbk.)
Contents T
Introduction
Acknowledgments XI
Index 463
To my Parents.
Introduction
human types to
brains but require knowledgeable, scientific
keep them operating smoothly.
You will, no doubt, immediately think of other applica-
tions for these machines. Although we hate to admit it, we can
come up with one more reason for having a machine do tasks
for us.They can do it better! Yes, it's true, they can do it better,
for a longer period of time, and more consistently than any
human can ever do. You see they have one advantage— they
do not get tired!
If we ask the fundamental question, will machines and
XI
Mountain Hardware, 300 Harvey West Boulevard, Santa
Cruz, CA 95060
Ohio Scientific, 1355 South Chillocothe Road, Aurora, OH
44202
Radio Shack, a division of Tandy Corporation, Fort Worth,
TX,
Microbot, 1259 El Camino Real, Suite 200, Menlo Park, CA
94025
Manca, Rockleigh, NJ 07647
Inc., Leitz Building,
Camac Kenetic Systems, 11 Maryknoll Drive, Lockport, IL
60441
Kilobaud Microcomputing, 73 Pine Street, Peterborough,
NY, 03458
ACE Radio Control, Higginsville, MO, 64037
Telesensory, Inc., P.O. Box 10099, Palo Alto, CA 94304
Planet Corporation, 27888 Orchard Lake Road, Farmington
Hills,MI, 48018
Robotics Age, P.O. Box 725, La Canada, CA 91011
Apple Computer, Inc., 10200 Bandley Drive, Cupertina, CA,
95014
xii
Definitions,
Examples, and Ideas
•—
What is robotics? This is not a new word but it may be an
unfamiliar one. Automation is another somewhat similar word
that applies in many instances to the same idea or concept. It
TEACHING A ROBOT
Robot Master John Galaher of the American Robot Corp.
informs us that this box controls extension and contraction of
mq
V)
0)o
—
o o
05 CC
> °5
o $
? E
0)
*- r
c
Fig. 1-3. The teaching unit (pendant) for the Grivet robot (courtesy American
Robot Corp.).
the arm and rotation of the hand gripper, wrist, elbow, and
shoulder. One sets this kind of robot into its permanent
location, programs it to accomplish the task desired, and then
removes the teaching unit. The arm, under direction of
TARC, will now go to work doing what you have told it to do.
In this case it may replace a person on a batch separation line,
or change objects from one conveyor belt to another. It is
man-like in that it can do the kind of job that a man did
previously.
"Robotics is the science of making machines man-like in
action and operation." This seems to be an accurate definition
and you will note that it does not say that the machine has to
look man-like (or woman-like) in appearance, although it
10
GRIPPER
OR ^Sl> feH
HAND 360° 360°
^
(1)
ttt n. Zi
(B) (A)
Fig. 1 -4. The statics and dynamics of the Grivet robot (courtesy American Robot
Corp.).
11
of. This, of course, brings us to the type and kind of task
where the human emulates the robot. The robot performs in a
delightful manner as long as it is working properly and
nothing goes wrong, and as long as all conditions of its task
remain the same. But, unless it is an adaptive type robot, any
change in the conditions of its job or task will not be accounted
for until it has been re-programmed to compensate for those
changes. The human, naturally, compensates automatically.
ARTIFICIAL INTELLIGENCE
12
much as a human if it has a computer with a large enough
memory bank to store all the information that comes to it in
the form of learning (structured instruction) or in the form of
feedback (trial and error). These trials are generated by some
13
1. Do f then g
2. C then f else g
If
3. While C do f
What is implied, but not apparent, in using these orders
is that the computer may be evaluating and scrutinizing
masses of data which govern the use of these orders. It is far
beyond the ability of the human mind to evaluate this data in
the same systematic, logical, unemotional, and timely manner
that the computer does in arriving at, say, an implementation
of step 2 above. One might suspect that the human mind is
programmed to evaluate certain amounts and types of data,
and computers are programmed for another type. Human
conclusions usually must be a consensus before the conclu-
sions are accepted. We note that machines follow a man-
specified routine to evaluate even the greatest amounts of
data, but can only evaluate those types that man understands
how he evaluates!
We can think through this problem by imagining that we
are in a fast modern aircraft and suddenly, ahead, is another
aircraft bearing down on us. Should we dive, climb, turn left,
or turn right? What will the other pilot do? What if he maneu-
vers in such a way that the intercept possibility increases? It
is possible that you have had a similar experience while you
were walking down the sidewalk. Another human ap-
proached. You moved to your left, and he moved at the same
time to his right. You moved to your right, and he mived to his
left. There was no way you two could prevent bumping into
14
is down relative to your position. It can determine
going up or
the speed of movement in all directions and predict or antici-
pate collision or no collision. The solution to the problem is
then flashed to the human in a form he can most quickly and
accurately assimilate— perhaps a light to indicate the direc-
tion he should steer his aircraft. The job is done well and
safely by the two minds, electronic-mechanical and elec-
trochemical, working together!
In a case where the human response time is too long,
delayed, or cannot be accomplished in the time interval
necessary, the secondary part of the machine operation— the
robot steering— takes over and for a few precious seconds
handles the aircraft. Aircraft autopilots, which steer aircraft
along precision courses, at given altitudes, have long been
recognized and accepted. They are being given additional
duties all the time and tests have been conducted flying a
passenger type aircraft from takeoff to touch-down without
human hands ever touching the controls.
15
They selected the same number 12.3 percent of the time; at
least those who had increased their corporate profits during
the previous operating years did this. Those presidents
whose companies lost money selected the same number only
8.3 percent of the time. The computer selected the same
number 10 percent of the time as predicted by laws of proba-
bility. This test was said to indicate that the successful execu-
tive had strong and accurate intuition and the results were
reported in Time magazine. When these results were
analyzed it was said that man's inefficiency, emotions, and the
nuances with which a man reads data may inhibit his thinking
or affect the accuracy of his conclusions. Using a computer to
predict trends or to select courses of action based on evalua-
tions of reams of data and then tempering the prediction with
human judgment seems to be the best way to gain the utmost
from the two worlds.
When we consider the world of advanced robotics, then,
we must concern ourselves with the problem of how much
intelligence we can build into a machine, how it will use that
capability, and when we must insert ourselves into the con-
trol loops to achieve the best of the two worlds. We have to
decide when the machine can function alone, and when it must
be aided by human intelligence. Of course, it goes without
saying that we will be forever trying to fabricate a complete
mechanical-electronic-chemical mind which will permit hu-
mans to specify our commands and relax while everything is
done for us! It has been shown by R.S. Aha of Grumman
Aerospace that man's thinking process might be specified as
shown in Fig. 1-5. In this block diagram form we can easily
imagine how the brain of a very intelligent robot might func-
tion.
16
1- z lu
D
Q_
1- (POSSIBL
4
^
REACTIO
o ACTION-
4 V
z
o
zw w
O => i-
^ ^
wd^ ^ W
Og CO
LU O LU
OO DC
J k
zz
OQ
GNITI
LEM- TION
ELAT
A
^ F
fe o
CO 3 ODC <
CD
O JOLT Q
DC O LUO LU
CL 0) DCO LU
i k
LL
0)
>0z LT
CO
£P ^< LU 4
^ ^
w
2 LU co
LU D 2
SO <
z
O <* Q.
a>
F DC ^
o
1 w O Z O DC ^4
LU — CO LU
p
c
o
o
H- ZH CD
LU LU - 1 c
Q CO LL O
17
re-issued. The motors are driven by a single-board mi-
crocomputer which can be connected to, and accepts data
from, external lines. This computer has a built-in diagnostic
capability to pinpoint machine-operational problems. The
microcomputer uses a nonvolatile memory cartridge for
program storage. Its controller is a 16-line, optically isolated,
TTL-compatible unit.
Although the arm is electrically positioned, the gripper,
or end-effector or hand, is pneumatically operated. The robot
has a built-in air compressor to power this end unit. The use
of pneumatics means very fast responses are possible.
18
try your hand at radio control of some small model with
reasonably tight control to verify this idea.
So, what happens? You guessed it! Within a robot is
19
exact— perhaps for thousands of movement operations. Its
repeatable positioning must be present and very accurate.
Remember the Grivet operation is within plus or minus .004
inch!
So what does the computer do? The computer remem-
bers the starting point and the end point of the gripper for
each cycle of operation. A cycle will be defined here as that
series of movements required to perform one task. The com-
puter then computes the best path through three-dimensional
space for the gripper to move to accomplish the task the
human led it through so laboriously, and the resulting path
equation or algorithm will be solved by the computer each
time it arm through that cycle. We thus learn that the
runs the
gripper may not go through the same points in three-
dimensional space that we put it through when we taught it
where it was to move. It might move along an entirely dif-
ferent set of spatial coordinates to accomplish the same task
better and more efficiently. It definitely will not remember
any jockeying we might have done, or manipulating we might
have had it do to get it where we humans desired it to be when
it finally got there. All those little breaks will have been
WHAT IS A TASK?
We have used the word task and it may have a different
meaning to different people. A task may mean one completed
action, or one complete cycle. Here it means a movement of
an arm-section point to one specified position in a series of
end-point positions in order to accomplish a job. The end-
point is the tip of the gripper or hand. Many tasks make a
cycle. We consider one job accomplished when one cycle has
been completed.
A vector is a line that has both direction and magnitude.
In Fig. 1-6 we lengths— VI, V2,
find three vectors with fixed
and V3— and these represent the three arm segments of a
robot such as the Grivet. They are attached to each other and
to the base at one point as shown. Each arm segment can
move independently. In this two-dimensional drawing all of
20
21
VI moves up or down by opening
the angles cannot be shown.
V2 moves left or right (as
or closing the angle alpha (a).
shown here) by opening or closing the angle beta (/3). V3
moves up or down, and so moves its tip which we imagine to
be the robot's gripper, by opening or closing the angle gamma
(y). With a little imagination you can visualize the simultane-
ous movement of all three vectors such that the end point
might be moved up, down, left, right, or in a combination of
these directions as required by the tasks. Of course, V3 could
be longer so that if the angle gamma were reduced to zero, the
end point would come around to the first section point and,
equipment permitting, would coincide with that position. As
shown, the end point has been moved up 12 units and out
along the positive axis 26 units.
We might imagine that the end point is a welding flame or
contact point for an electric welding unit. We might also
imagine that we want the end point to move up from where it
first section point, the second section point, and the third
22
section or gripper point. When these points have been fed into
the computer for all the tasks needed to complete the job, and
in the proper sequence, the computer will solve the neces-
sary trigonometric relationships for the best movement to
reach each end point. you need to refresh your memory
If
this. First, give the robot some eyes, and then match the
23
will keep the robot system informed so that even if the line
speeds up or slows down, the arm will adjust to compensate
for this change. No doubt you have thought of other ways in
which the robot might sense or determine or find objects on
that first conveyor belt. Some other means which have been
considered are: temperature of the body, size of the body,
and— believe it or not— actual recognition of the body even if
ithappens to be in some unusual orientation on the belt! This
latter case is very important because it means that such
robots can actually detect and pick out specified objects
among many other objects on a big tray or on the belt surface.
Thisis important in some assembly-type operations.
24
THE ROBOT DIAGNOSTICS
It has been said of an intelligent robot that it, like its
human counterpart, is always checking itself to see if it is
ROBOT COMMUNICATION
Let's expand voice communication slightly and think
about robots talking to robots. Some people write about the
danger of having robots communicate with each other. One
writer says, "Many Americans fear this new age of computers
that talk to other computers and operate machines. Technol-
ogy is moving so fast, in so many areas, that people are afraid
of it because they are not familiar with it."
In assembly line operations where many robots do the
same type of job, it is useful for one machine to direct the
work of other machines. The G rivet series, for example is
so designed that one might have four slaves and one master or
supervisor for these four units. It is said that the operation of
many such machines is "orchestrated" so that they can per-
form process control, handle inventories, handle outputs and
inputs to stockage areas, and control the flow of items in batch
lots on various types of moving tracks, belts, or whatever.
26
Ask yourself what that word orchestrated means? If we
devote some thought to it, we realize that in a large orchestra
there are many different instruments, different parts to the
melody and harmonic effects which all blend together in order
to produce the final, ear pleasing sound. Thus we arrive at the
conclusion that orchestrating a group of robots means the
blending together of many different processes, automatically
performed in a timely, coordinated manner to bring about the
fabrication of something, or the completion ofsome process
comprised of many parts. It could, of course, also mean the
systematic and coordinated demolition of something if that
were the process desired! Robots take many forms even
when they work singly as shown in Fig. 1-7.
Yes, robots on assembly lines talk to one another. They
may communicate completed a task, they may
that they have
ask for help from a nearby machine so that two arms can be
brought to bear on a process instead of the one with which
each robot is normally equipped. They may govern the flow of
materials or regulate the inspection and processing of the
materials as required. We can imagine one robot at the end of
an assembly line, fit some parts together and finding
trying to
communicating via its own computer and connect-
it difficult,
27
into the master computer. The human changes the memory
for just one robot in this system and does not have to change
the memory of all the robots as he or she might have to do if
they were operating as individual units. It is advisable to have
good, complete communication among the robots in manufac-
turing or processing plants!
People who fear these connections, will learn that the
communication is not intelligent reasoning, as sometimes
takes place when humans communicate. Among robots, the
communication consists of a series of drive and feedback
signals, which cause the robot receiving the information to do
something. When it does what it is supposed to do the reverse
communication takes place which informs the master that it
did what it was supposed to do, and to what degree of preci-
sion it did it. If the reverse communication doesn't take place,
the master knows the slave isn't working properly.
COSTS
Of course robots cost money. They start at $10,000.00
per unit for manufacturing types, and $3,000 for some of the
android types we will discuss in another chapter in this book.
Android types are hobbyist's toys right now, but imagine that
someday they will be household servants and let us all live life
in Utopia!
But, what about costs in the manufacturing situation?
One might evaluate the cost of programming and operating a
robot vs the cost of using human hands to do the job in cost per
hour. Remember that the robot doesn't complain, doesn't
worry, doesn't take rest breaks or lunch breaks, is always on
time, and can work 24 hours a day without getting tired
(worn-out maybe, but not tired). Each robot has an operating
cost per hour which can be compared to the human cost per
hour and when the purchase has been amortized the relative
costs of the two will show something interesting. Although
the robot won't ask for a raise, its operating costs will in-
crease somewhat simply because the costs of energy will
increase, and it uses energy. It doesn't get tired, but it should
have some kind of normal maintenance routine and humans do
not normally have to be maintained on the job. It is true that
28
29
the robot machines will do lots of jobs humans don't like to do
and it will do them well. This will release humans to do other,
more profitable work. So, if humans are to become future
Robot Masters then they must prepare themselves now for
profitable and rewarding jobs. Technology will not stand still.
FEEDBACK ACCURACY
We show, in Fig. 1-8, a kind of illustration which may
indicate how the accuracy of measurement of the end device
position may affect the general operation of the robot as a
whole.
Along the X axis we have the physical position which can
be measured by the feedback potentiometer, ac wave com-
parison unit, pressure feedback, or whatever. Along the Y
axis we have the accuracy of repeatable operations which are
performed time after time after time. Note that we never
reach a perfect operational state. If nothing else, Murphy's
Laws will prevent that from happening. But we do reach a
close proximity to the state of blissful perfection, providing
that the feedback measuring elements each can provide the
high degree of accuracy required.
Wehave shown a linear drop off of accuracy. This may
not be exactly correct. Each machine may have a different
curve even though each machine may be constructed exactly
the same. The operational environment, the type of load, the
use to which the robot machine is put may well affect its
repeatable accuracy. From this illustration, then, we begin to
get some understanding of the complexity needed and the
precision required in order to exactly locate and assemble
small batch parts, or to perform operations where a few
millimeters of movement may be the whole ball park. We are
reminded that difficult measurements are not exactly impos-
sible. Back in the Dark Ages of the 50's when the atomic bomb
30
£5
>§
1- LU
X .
CO co
i kZ *
,^o
co<
a _l CD CO
LU
H <Q LU
< O LU X
LU FE
Q. PHYSI
INC
LU
DC OF IN
CO
z
O
i-
< o
»~
LT .
LU /
CL /
O /
U_ /
O /
>- >
O
< /
/ »—
cc /
So
^<
/
/
T—
^ 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1 Ar 1
q
F
°
LU / //
U- /
//
cc
LU
o
^T
//
<u
CD ^
q E
//
<D
08
H T-
i—
3
//
n3
LU LX Q)
CO LU E
o>
_l LU
1
// ^_
o "O
oz / o
o
c
(X!
\ 1 / >^
o
03
i_
O
O
o
o
03
1
o
o
J*
O
03
-Q
1
o
Q)
<D
1 LL
31
operation— or would you? Think what that kind of measure-
ment possibility would mean in terms of precision feedback of
an advanced robot!
Now we are imagining the use of a machine robot to do
jobs that are being performed by humans using microscopes.
This requires them to move with slow, delicate precision
because the slightest error could be costly or irreversible.
We imagine that if such precision could be accomplished by
robots the costs of many items of modern technology might be
reduced and their reliability might be vastly increased. The
key to this precision is the ability of the machine to function
on the smallest of signals, and to physically measure the
smallest value we can think of.
This leads to another problem area— maybe it's Mur-
phy's Laws again. The smaller the signal or the more sensi-
tive the feedback, the greater the danger from extraneous
electrical and mechanical noise. Noise means error signals
and noise is the enemy which must be overcome in the fight
for greater precision and better computation.
SPEED OF OPERATION
In a study of servomechanisms, which form the basis for
all robotic operations, we find that the greater the speed of
movement the harder it is to prevent overshoot and oscilla-
tion. There mathematical solutions to many of
are, of course,
these kinds of problem, and they are used. We want to plan
beyond the present day capability and consider what the truly
maximum speed of operation of a robot system or an indi-
vidual robot might be. We are consideringpower behind the
movement, and such amounts of power that the overshoot and
problems again rear their ugly heads.
oscillation
How fast is fast? Why do we need to increase the speed of
operation? Is it useful, or required, or just a desirable de-
velopment? Is productivity, and therefore profits, dependent
upon speed of operation? Do we want to work toward that
we going as fast as
ultimate blinding speed of assembly, or are
we can go considering our knowledge, and capability of mak-
ing advanced robot machines. Consider the CYRO 5 + 2
32
advanced robot made by Advanced Robotics Corporation.
This machine has two coordinated arms instead of one to
accomplish welding operations. One hand has a five-axis
torch motion (x,y,z,c,a,) and the second hand has two-axis
standard motion. Both hands are said to move smoothly and
accurately to accomplish many tasks. Of course the coordi-
nated motions must be computer directed or program di-
rected.
Computers are being improved every day and their
speed of operation, output capability, and controllability in-
33
Fig. 1-9. (A) Gyro 5-plus-2 two arm advanced robot. (B) Movement of "end unit'
of Cryo 5-plus-2 (courtesy Advanced Robotics Corp.).
34
Fig.1-10.Cyro 5-plus welding (courtesy of Advanced Robotics Corp.).
Fig. 1-11. Cryo 5-plus-2 control panel (courtesy Advanced Robotics Corp.
35
would suspect that there is a use for each type of machine, and
thatusage may govern what type advanced robot is procured
by a manufacturer.
SAFETY
In advanced robotics we must always be conscious of
safety just as we would be conscious of this requirement in
any plant or operation where machines are used. For the
advanced type robots we have so far considered, we recall
that they are usually fixed in place, that they have a certain
radius of operation, or spacevolume in which their actions are
confined, and thus, regardless of how they move or what they
do, if we restrict ourselves from entering that action space
around each robot, we should be safe enough.
If there is which should, by some very
a malfunction
unique and very unusual condition, cause the separation of the
physical parts of a robot from its base structure, then, of
course, that might make unsafe any other volume of space
around the unit. But this is a case which is so rare that one
might consider it just doesn't happen. Normal safety proce-
dures such as are well developed and practiced in machine-
containing plants and operations, will normally suffice, and
will protect those humans involved when they are in the same
physical areas as the advanced type robotic machines. One
would wear protective glasses if the machine is producing
particles of any type which might be injurious, or if the rays
from the operation (welding) might be injurious to the eyes.
Clothing must be such that sparks or whatever type of
remnants might be cast off from the tasks performed will not
ignite or penetrate or cause other troubles to the human
contained therein. Proper footwear would be very nice to
have over your toes just in case you are close and the gripper
opens prematurely, dropping a large object to the floor. Nor-
mally, however, one would be walking or spending much time
near the robot assemblies. Observation is through instru-
ments and TV type tubes and visual inspection from isolated
and protected control booths. Only in the case of trouble with
a particular machine is human presence required in its par-
36
initiating the repairs and that will serve until that day when
the advanced type robots repair themselves!
The mobile type robot may present another situation. Its
volume of active space may also be confined but that might be
a large space and a moving space and one must then practice
safety as one does in the street with moving automobiles! We
can just imagine our reaction if we are in a large building and
suddenly, silently, this monster machine comes bearing down
on us with its four arms waving madly. The arms are mov-
ing—not because it is angry, for robots don't get that way—
because that is the way advanced robots normally move! Of
course we could be on the regular robot track as defined by
some invisible substance on the floor and it may be just
moving from one job location to another in accord with some
of its prime directives. Yes, unless it is programmed to stop
for obstructions it might well run over us! But even that,
ROBOTIC SPEECH
Not many years ago it was considered almost impossible
to make a machine which could actually talk back to its
operator. As we well know, that impossibility has been re-
placed by fact. One of the companies in the forefront of speech
synthesis in Texas Instruments, whose Speak and Spell solid
state learning aid has started the machine talking revolution.
Figure 1-12 shows the chip which resulted from many years of
research and development in the speech producing effort.
The heart of TFs Solid State Speech systems is this little
monolithic speech synthesis chip which was invented by TI. It
when reproduced
actually generates electronic signals which,
on a loudspeaker system, sound like the human voice. The
chip models the characteristics of the human vocal tract.
Machines that speak, either to acknowledge or convey
information, are deemed the next area of the technological
37
Fig. 1-12. Voice synthesizer chip (courtesy Texas Instruments).
38
<D C
Q. <D
w E
I- E
II
"5 in
it
O
39
use, duration, and application. A word, for example, is defined
as a second of "utterances", and only TI can explain what is
40
and 1 energy) serve as inputs to the synthesizer chip. These
codes may be stored in a ROM (Read Only Memory). When
the codes are decoded by on-chip circuitry (Fig. 1-13) they
produce the time varying signals descriptive of the LPC
model, or human voice sounds.
The input to the digital filter takes two forms, as we have
stated. They may be periodic or random. The periodic input is
used to reproduce voiced sounds that have a definite pitch
such as vowels or voiced fricatives (sounds formed and pro-
nounced by forcing the breath through a narrow opening
between the teeth, lips, etc, such as f, s, v, and z). In the TI the
fricatives are z, b, or d. A random input to the chip models
unvoiced sounds such as s, f, t and sh. The speech synthesis
chip has two separate logic blocks which generate the voiced
and unvoiced sound patterns. The output from the digital
filter, drives the Digital-to- Analog Converter and that drives
SUMMARY
Throughout this chapter I have presented a glimpse of
what the world of robotics consists of. We have found that it is
a vast world indeed, encompassing mechanical engineering,
electronic-electrical engineering, light, sound, chemistry,
atomic and computer engineering. Some disciplines which we
have not mentioned may be found in this field. So we learn
that it is and development. We
a big area of study, design,
have called advanced robotics a science and an art and we
have presented a simple type of definition: "The design, use,
41
and operation of machines, which are computer controlled to
do human desired tasks." We also indicated that within the
control framework might be a human brain as a part of the
computing system.
There isan organization, dedicated to manufacturing
type robotics which has given a somewhat different type
definition of a robot. The Robot Institute of America has come
up with a typical engineering type definition: A reprogram-
mable, multifunction manipulator designed to move material,
parts, tools, or specialized devices, through various pro-
grammed motions to perform a variety of tasks. The ma-
nipulator in this case iswhat we have called the end product
(or tool) holder, or gripper.
While it is true that robots of any type, industrial or not,
will get smarter as time progresses and will be able, through
use of many sensors which humans do not have, to accomplish
many tasks relating to jobs we have most
for them, in a
pleasing manner, they still must be programmed by someone.
The user may not develop the software necessary, but some-
one has to develop it, and someone has to develop the com-
mand instructions so that an android robot, for example, will
respond to your spoken commands.
Webster's dictionary has another definition of a robot,
and from this can be derived another definition of the world of
robotics: "A robot is a machine in the form of a human being
that performs the mechanical functions of a human being." Of
course, this has been the general concept carried about in
many human minds for a long time, but it is not necessarily a
true definition as we apply it to today's electromechanical
marvels. The Madison Avenue personnel devote hours and
hours to research and planning and burn much midnight oil to
prepare sales pitches which involve the magic word
"robot(s)", and in many instances what they define as a robot,
for sales purposes, is not a robot at all. We have to make
allowances for the kind of sales personnel who jump on the
bandwagon, and present things which are not exactly correct,
according to the definitions presented herein.
It is very interesting that the Lord Company of Erie,
42
of sponge and filled with a grid of wires and sensors which are
so arranged that it will have an almost human sense of touch
and feel! Robots are here now! Let's move ahead in our study
of some advanced types, and some hobby types.
43
The
Domesticated
Android
45
android— A human appearing type of machine which
duplicates in appearance and some actions the human
body and its functions. May converse, and does respond
to external stimulii with pre-programmed responses.
This is the type envisioned by sci-fi writers as the
companion to the hero in far-out escapades.
46
Fig. 2-1. A domesticated android (on the right) (courtesy Quasar Industries).
47
1-
Zz
b
,
LU
^ LU
LU>
is
FRACK
TROL
R
hi z
z°3
o<
c/>
log
QO
«-
^ < dc
rrj DC DC
5£g
>>
DC
Q_<S)V)
_- zz
AA
DON/
IO 10
W Z
tf> QQ
< <<
o***
Z ^- CM CO
z o
C/D z
o DC
o O LJJ
Q Ol
+1 CD
z O
O3 C/5
LL D
CD o CO CM
IT
£
o
-O
o
<D
Q.
>>
CVJ
CVJ
LL
48
adjustment of the drive motors and limit switches and control
mechanisms. It is to be noted that movement is accomplished
by electrical signals to two motors, one on each side of the
body, with two more wheels— fore and aft— used as stabiliz-
ers. One would suspect that the drive motors in some applica-
tions would be stepping motors driven by a series of pulses.
This permits very precise control. When the motors are in
step together and in sync the robot goes straight, and turning
capability comes when one motor is stepped faster than the
other. The amount of stepping difference governing the speed
of angular rotation, or turning.
The power supply would, in any type of autonomous
robot or android, be a battery. One would desire a light
weight, long life, easily and quickly re-chargeable, high am-
pere capacity unit. Of the types common at present the nickel
cadmium or silver-zinc batteries come closest to meeting
these ideals. Other types will be an outgrowth of develop-
ments for the space exploration programs, and for the ex-
pected electric automobiles which so many manufacturers are
now researching. An ideal robot will have its own charging
unit built-in and the unit will be able to find a wall socket itself
and govern its own charging operation. Some robots have
been built which can do this at the present date.
49
•Monitor the average home or apartment for fire,
smoke, or unauthorized entry during any specified time
period.
•Constantly monitor the house temperature and adjust
by direct control (mechanical) or by remote control (sending
signals to another unit).
•Monitor children during play or rest-time, or monitor
convalescing persons sounding an alarm if the normal ac-
tivities change significantly.
•Respond verbally to verbal commands and questions
and provide information which is stored in its memory banks.
•Help provide education, amusement, and display cul-
tural information.
•Cut the grass, rake the yard, take the dog for a walk,
and other outdoor activities.
pencil and paper make a priority list of the tasks and jobs
around your home, carrying this list out as far as you can
possibly vision the work to be done.
Quasar gives us a titilating thought in an example of a
homemaker who is getting ready to go to work. Having
decided that the rug needs vacuuming, the command unit is
taken up and the homemaker commands the domestic android
quickly with the date, time, and function code. The robot then
sends a confirming reply. Even the concept of having a robot
prepare meals is not really far-fetched. It might be if the
meals were prepared manner shown in Fig. 2-3.
in the
However much amazement might be provoked by having
such a robot prepare meals, there is a certain danger when
such a machine fools around with flames, heat, or micro-
waves. The microwaves are not supposed to cause interfer-
ence, but they might!
One suspects that the meal-preparing robot chef will not
be a machine as shown in Fig. 2-3, but will be a built-in
50
expansion of the time-cooking oven which is currently on the
market. It would seem that we already have a computerized
cook, what we need is a mechanical preparer and a mechanical
device to get those dishes into a really good dishwasher. So,
perhaps a combination of machines is needed in the kitchen.
One, a robot to get things from cold storage and prepare the
dishes, another machine to cook them, and finally, the robot to
serve the meal, and place the dishes in the dishwasher. The
automatic garbage disposal for everything, papers, broken
dishes, bent utensils or anything, must also be present and in
operation to clean up the rest of the mess. We offer a diagram
in Fig. 2-4. As shown, you would simply tell the input mi-
crophone what the menu for the three daily meals is to be,
state the time the meal is to be served, and note that all
ingredients are on file. The computer takes over and directs
the conveyors and ovens and stoves and robots to the end that
the meals are prepared and delivered to the table at the times
specified. Of course the human responsibility will be to insure
that the bins and refrigerator stores are kept fulland in proper
placement. Eventually one might be able to eliminate human
errors in this job by getting food delivered in response to
computer instructions and sent directly to the food bins or
freezers, automatically. Thus, once the meals are planned for
the week, month, or year, the time frame being of your own
choosing, all one has to do is to be there on time and eat!
We see the use of mechanical-electrical androids or
robots in this example. Let us consider the same job from a
slightly more serious perspective. We then ask ourselves if it
is possible to completely automate a kitchen. The vision of a
completely automated kitchen does not have robots or an-
droids. It will have a multitude of machines and conveyors and
arms such as the ones we have shown in this book. The "pick
and place" one-arm industrial robots can do the task of picking
and placing various food items, mixing and combining ingre-
dients, and selecting various tools needed for those various
chores. Fixed-location two-handed robots are currently being
used in some factories for various types of assembly and some
machines have vision sufficiently well developed to be able to
pick out various things from other groups or items, so why
51
"5 3
o £
*5B
. 5k
i
C\J ~
flj
O) o
lis
52
C\J c
0)
L2
53
isn't it likely that food could be an item from which selection
must be made.
Let us consider some types of robots currently de-
veloped and learn what they can do. The University of Rhode
Island engineers have developed Mark IV, a robot that can
select parts from a jumble of parts in a bin. Some people at
California's Stamford Research Institute have developed a
seeing robot arm which can select the proper tool from many
tools on abench and use that tool to bolt down the cover on a
small engine. At Carnegie-Mellon University they are work-
ing to enable a robot's brain to accept orders spoken in the
human voice and, they say, the machine can now distinguish
among some 1,000 words spoken to it, and it will ignore
strange type human sounds which are not words. Joseph
Engelberger of Unimation believes that the future world of
HAL type, and
humanistics will be laced with robots of the
this, you will recall, is the type robot which doesn't appear as
a robot at all, but is a space station controlled by computers
and machines. Here we are considering a kitchen in a house-
hold.
54
<
z
LU
>
o
w
z
<
CL >
ss
Q. LU
P UJ
cr z
cr
<
55
feed type units such as from the food supply bins. We assume
also that somehow these bins will have been pre-loaded,
either automatically or by human effort.
56
done all the time. I've enjoyed playing chess with a vocal
computerized chess opponent and was delighted, once, when
it said in its charactertistic flat tone; "I lose." I have also seen
a device called a ROBOT 1, made by Heuristics, Inc. which
plugged right into an Apple II computer and enabled a person
to control a small battery operated car by voice commands;
forward, reverse, stop, left, right and straight. The system
used a radio link to the controlled vehicle and required a
special program to make the computer operate correctly with
the other parts of the system.
You will think of other examples of voice control and no
doubt you will realize that various Universities and research
organizations are working constantly nowadays to develop
voice systems which respond to only a few selected individu-
als. This prevents troubles which could arise from having
anyone being able to operate a system. The use of vocal
commands to computers enables the skilled person to free
their hands for more useful functions than trying to type on a
keyboard. With the added capability of recognizing a persons'
particular voice and taking the information that voice conveys
and turning it into some action, we have the essentials of the
man-machine integration in the world of robotics. Through
voice communication we have found a means to affect a nearly
instantaneous communication to, and with, machines; called
robots, or androids, or automated kitchens!
So we consider again Fig. 2-5 and imagine how such a
system would operate. Once the command for breakfast, for
example, has been given to the computer, the computer then
alerts the various parts of the system to be ready to comply
with later commands as they are issued.
on the right side of the figure, is a command to the
First,
food bin that releases the proper items in proper amounts
onto the conveyor belt. Commands also go to the refrigera-
tion unit and its controlling robot (the circle with the X inside)
so that as the refrigerated items are issued, the robot will
place them on the belt alongside the bin order. If the food is
frozen, then it must be sent to the microwave oven for thaw-
ing. This will take a little time and so a delay is now neces-
57
sary. When the food has properly thawed, the robot will place
it in its proper position so that it becomes a part of the order
on the belt.
how it is happening.
The food, in the proper dishes, the silver, etc., arrive at
the table and now robot 4 begins to serve the meals, each to
its proper recipient. The computer directs the order of serv-
ing by the order of voice commands, first voice is first served,
etc. After a reasonable time, or when ordered, robot number 5
begins to remove the dishes in some pre-programmed order.
Robot 5 puts the dishes on the converyor where robot 6 will
see to it that the garbage goes one way and the dishes and
silver return to the dishwasher to be washed and then pro-
ceed automatically on to the dish-silver storage shelves.
58
ity willmake the systems complex, but they will operate with
a minimum of failures and problems. The great wizards of
mathematics will manipulate their symbols and tell us exactly
whether a system needs to have duplicate, triplicate or qua-
druplicate systems in order to achieve reasonable reliability.
That means that in general the machine or system will oper-
ate correctly most of the time. It does not say that the system
will ever be perfect!
In a control system the product of the reliabilities of the
various sub units will make up the total reliability of the
system. For example, if you have ten units, each with a
reliability of 99 percent, then the total reliability to be ex-
pected will be the product of .99 taken ten times or about 88
percent. What this shows is that each subsystem must have a
reliability figure on the order of 100 percent— or as near to it
59
insure that these promotional display robots attract and
amuse the human population instead of provoking and
generating fear. It is easy to understand how a robot's appear-
ance can range from friendly to frightening. Perhaps the day
has come when the box type robot or the barrel shaped robot
is passe.
The good engineer designs for fast operation, efficiency,
low maintenance requirements, and reasonable cost. He is
not concerned, really, with how the thing looks, or is pack-
aged, unless the size and shape must conform to a particular
volume some very pertinent reason. There are packaging
for
experts who can design appropriate housings for the elec-
tromechanical mechanisms. Perhaps they will be called in to
help shape the robot machines of the future when the field of
robotics demands that we have robots having personalities
and bodies to match.
Consider the inanimate human models that we see in
the fashionable department stores nowadays. Those models
aren't cheap, and the store wouldn't buy them if there wasn't
proof that they add to sales. same holds true for display
If the
robots or androids than we have to ask, "Just how human do
we want this robot to appear?"
The real "macho" type could be as lifelike as Yul Brynner
in Westworld, the movie in which robots run wild. The pretty
type could be as attractive as those female mannikins display-
ing the latest fashion gowns in the finest haute couture salons.
But, do we want them that realistic? The cost of cramming all
of the machinery into that kind of package would be tremen-
dous. Would the economic advantages of this type of robot
over one that looks like C3PO, in Star Wars, be worth the
development costs?
What about the bad psychological effects? Perhaps
people feel more comfortable working with a machine that
looks like a machine than they do with a machine that, due to
its personalizing, seems to possess some kind of non-
understandable intelligence. When a machine seems to be
alive it can and probably does, generate some kind of fear in
some Homo sapiens. That fear, of course, is usually a fear of
the unknown. Since we are conditioned objects in space, and
60
= = ;>,- s zz
Fig. 2-6. Display robots dress (sales promotional androids) (courtesy Quasar
Ind.).
61
since our conditioning is a what we see and hear and
result of
experience, and since we see monsters on TV, etc., then
perhaps the personalizing of machines may engender in the
subconscious some kind of relationship which could be det-
rimental. Who knows?
mobile range.
The BIOT is a four footed, mechanical, humanoid robot.
The designer says it is six feet high with a weight of 525
pounds, a width of 30 inches, and a ground clearance of some 3
inches. Its mobility is through wheels which would be self
inflating and self repairing. It uses batteries for power, and
the movements of its various limbs and tools and grippers is
controlled by electric units with hydraulic assistance. It, too,
has four arms, each with elbows and interchangeable hands. It
has a means of optical reconnaisance in color, a computer
control unit, and both hard-wire and radio frequency com-
munication and control. It could use voice recognition as one
means of decoding commands and instructions.
In order to have maximum operational and sensory capa-
62
bility the unit is envisioned as having two video color cameras
in its head-unit with an auto-couple-panning capability and tilt
63
Does the robot or android have a future as a security
guard in such locations? Can one really be programmed to
detect alien objects which may appear, and which may pose a
threat to the regular and permitted inhabitants of the area?
Let us see what might be required and then think of what may
be possible in view of current technological developments.
If the robot or android is going to patrol an area, it must
be able to do so in a random manner. It cannot patrol in a fixed
operation where its appearance at any point of its path can be
stated as a function of time. All an invader would have to do in
this case is simply time the appearance at some point and
enter during the time the robot was absent, confident that
there would be a definite time interval before it reappears.
That the robot or android would follow a path of some
kind in such an area is probably a requirement. It must be able
to move itself to any location where its weapons or defense
mechanisms can be effective against an invader. If nothing
else, its alarm system must alert the proper people to come to
the battle. Thus a means of causing it to follow a random walk
on a prescribed path is necessary. This path, of course, must
not be obvious, nor must it be easily changed or de-activated
if it is an active element type of path.
One might suspect then that programming internally
might be the path-following criterion. In this case there is
nothing external to the robot or android which can be changed
to cause it to follow an erroneous pathway, or get itself into
64
now available in such sensitivities that they can detect a fox
walking on the earth at distances of over 10 feet. Infrared
beams of light, invisible to the human eye, can also be used to
set up a penetration barrier, and
all such devices can be easily
65
© .
2 o
is >«
(0
c ©
11
N o
©
ilo
66
might cause an alarm to be sounded, or a robot to be sum-
moned. Also indicated in the diagram is a light beam unit
across the doorway which prevents the door from closing in
case a person stops in the doorway. Remember that the
motion detector operates on a doppler frequency shift caused
by a moving object. Thus, when the object stops moving,
there is no signal to the activating relay. The microwave
detector in this system operates on one of four channels
around the 10.525 Gigahertz region. The relay is activated by
a doppler frequency shift when a moving object penetrates its
beam. The beam pattern can be adjusted for width, length, and
depth. It is sensitive to movement from one inch per second
to as fast as sixty inches per second. It operates on 12 to 24
volts ac or dc. Its detection sensitivity can be adjusted using a
potentiometer control. Some of the antenna coverage pat-
terns are illustrated in Fig. 2-8. If you are a robot designer you
will no doubt think of many ways in which this little unit might
be used.
I offer one suggestion, illustrated in Fig. 2-9. Here, four
radar units are used to give the robot some self defense
features. No one could approach this robot without activating
its motion sensors and causing a triggering of its defense
mechanism features. One must realize that if a robot is used in
a security role, it must be able to defend itself, or at least alert
its master to the fact that it is being attacked.
67
ANTENNA PATTERNS
1 SQUARE = 1 FT.
•
4
RP 90 \ •
• •
• •
•
•
• 9'
•
•
•
y RP 70
i
• •
,
•
• •
'' •
RP 40 •
•
•
XMTR • •
•
/ANTENNA V: • •
• • •
• • •
•
: :
• •
• •
• •
•
••
••
• 1
• • •
• •
• •
• • a
•
•
'••••.. •
• • •
i-f • ••• • • • • • • •
• •
• •
• • 1
• •
• •
• •
•
£••••••
• •
• »
• i
• •
• •
•
Fig. 2-8. Solfan Microwave Motion Detector Antenna Patterns (courtesy Solfan).
68
One can also imagine certain subtle variations in this
cam steering, motor-controlling concept. One might use
magnetic tapes generating tones of various types for various
actions. It would seem that with such programmed steering
and speed control, a house-movement robot or a lawn and
yard and garden movement robot can easily become an au-
tonomous reality!
70
The computer will be constantly checking against this
number with the direct input of pulses from the wheel sen-
sors.
There still some difficulties with this type of
could be
control system. The wheel could slip, indicating distance
traveled, even though the robot didn't move. And what about
when the robot is you assume one wheel is a pivot
turning? If
for the turning motion, then you can quickly see that the
wheel might rotate even though it is going nowhere. You have
to think about the turning problem and plan for it. The slipping
problem cannot be solved using wheel sensors.
71
Use, Operation,
and Construction of a
Radio-Control led Robot
by Jerry Rebman Electronics Co. They can supply all parts for
this type robot. He is a toy-like being that is capable of
wheeling around at parties and on display floors, under the
able and capable radio control guidance of his master, Jerry
Rebman, and he can converse with attendees either in groups
or single units. He can entertain with songs of any type, or
other 8-track recorded sound, through his concealed, high
fidelity speaker system. His purpose in life is to entertain and
to do this, like his human actor counterparts, he can change
his costume, and thus his identity, as simply as donning a new
outer shell covering.
GARCAN rugged unit and can withstand the pres-
is a
73
My first encounter with this delightful unit is illustrated
in Fig. 3-1. I had been invited to the home of Jerry Rebman
and after a few moments he vanished outside this lovely
family room. A moment later, to the tune of purring electric
motors, GARCAN appeared in the doorway and with uncanny
accuracy and agility entered the room, flashed his "head"
lights at me, decided I was friendly and came closer (Fig. 3-2).
There he stopped and silently examined me and all the while I
watched the maze of lights flash like small bits of lightning
under his plastic, hemispheric, domed head-space. I noted his
rugged construction and how well the inverted 30 gallon
garbage can made a suitable body when mounted on the
circular, one inch thick wood or composition board base
platform. I could just barely see the front idler wheel which
gave the base platform good stability. I assumed, and cor-
rectly, that there would be two other wheels located further
to the rear of the platform and that these would not only
provide mobility, but also steering. I also noted how easily
GARCAN moved across the bare floor and the thick carpet.
There are countless types of display robots being used
now at expositions, fairs, on TV, in movies, at parties and
such, and it is safe to say that 98% of these are radio control-
led types. They may be more elaborate than GARCAN, who is
arms at present) because the addition of arms
a paraplegic (no
means much more complexity. Others may have arms and
wrists and hands, but these are all operated by control signals
sent from behind one-way windows in exposition booths.
Display robots of this type may also have a multitude of self
contained sub-programs which can be started or stopped by
radio signals, and these may range from
pre-programmed
a
path movement, to animated arm and finger movements, to
speech delivery, to music, to display of TV pictures on a
special built-in screen. We have found that the big companies
such as GE and Hughes and others have used such display
robots to present their messages or logos to the public at
various functions.
Display robots are a reasonably big business and will be
a larger business activity as time progresses. They cost from
74
75
Fig. 3-2. "Well, look me over!"
76
are well built scientific experiments. In the display robot role,
these units have but one purpose for their existence; to
entertain, amaze, and delight those who see them. One way in
which this amazement encouraged is to add flashing lights
is
Fig. 3-3. Another view of the two parts can be seen in Fig. 3-4,
and a good view of the internal wiring is shown in Fig. 3-5.
Notice that there is lots of space should one desire to add
77
O. V)
O (0
78
/
i
%
<
79
I
e s
CO o)
81
The armadillo covering is made of fiberglass, and on this
robot there is a forward jutting arm which is used to prevent
the robot from damaging its head
happens to run into
if it
82
* o
£:
II
o <d
-c $
o o CO o
c — en Q.
.2^5 SS cfl
52 c o a>
CO
CO CO
® 0)
£ -Q
CO
~° — CD
jc
E €
£*
<- " ©
rsi o CD o
=
c*
O)
§1
CO
il E li
83
£ 2 » O <D
8 5.2.
I|8 C CO
lis —II.C
IH
? (0 "O
<C JC c
-g
<J>
s g
w o « I?
00 «o
fig CD O o
£5£
ls«
c c
co
ll Q.T3 .O "O O
84
"I
Ki
r o 1
O <X> O
> ©IT 2 E
<D *- to
o o £
slg o
© CO
< E *
O OB {/)
co •£ E
o> o ooo
2 ® -c
iZ E © co c
85
I wondered if it was a problem to synchronize the motors
to get forward travel. This, said Jerry, is not a problem. Since
the motors are nearly the same, and since he has independent
control over each motor's speed, he can easily— with
practice— adjust the RC sticks so that the robot moves for-
ward or reverses in a straight line. To make the robot turn,
you simply advance the speed of one motor while you reduce
the speed of the other motor. A tight turn results. It is also
interesting that a double gear-reduction via the chain drive
sprockets, is used to get the speed of motion down to about a
tage is that you can record your own jokes, stories, or what-
ever. With the 8-track unit, there is radio-control switching of
tracks. You know what's available on all of your tape, and you
simply command whatever track is appropriate at that mo-
ment. The commands for this function are sent to the regular
radio-control servos which are mounted so they open and
close the microswitches which operate the tape player, a very
reliable and positive method of control.
We can examine the gearing and chain drive system still
closer in Fig. 3-11. Notice that the driving wheels do not turn
to accomplish steering. The wheels are fixed in the plane
shown by means of rigidly mounted axles. To turn the base,
one of these wheels is made to go faster or slower than the
other. To the right of the nearest wheel is a black looking
86
© *L O) ±
$S&*
en <D
^ > © -O
«E«o ©£
§•0.2
i!
5 © *£ 2 © 2
a>
3 oi g|o> 55,
C
r- «
CD >- CD .-c
©
~ c 5Q. * 5:
• w
6f
7 © 3
|£ © ,2
j2 — o
O) CO ^ CO li
u. ql2 .0 33
87
c © .c CO ^C
111 *°
E £
*n ©
o o r^
.E
ox:©w
> * 3 5^
^ ©
fi
• 3
© _ © ©
< l€ D O _- <x>
O -C CO £
II >S O
«*> *- "S 2 52 -
a>
© £ © (5
U_ "O £ 5 .E O o)
88
vertical stack. This is one of two heat exchanger mountings
for the powering transistors for the motors. These transistors
get really hot and must be mounted on a heat dispersing base.
The motors themselves also get very warm to the touch, but
they operate within the manufacturers specified temperature
limits. The wheels are obtained from a hardware store and the
gear is bolted to them. Bolt shafts can be seen on the nearest
gear, while in the background you can see the relative size of
this gear. The chains are smaller than the regular lawn mower
type, but very strong.
We have mentioned the use of the regular model airplane
servos as mechanisms to control function switching. In Fig.
3-12 we get a better idea of how this was done. By close
examination you can find the little servos with their plastic
arms which, when moved by radio command, open or close
the microswitch levers on each side of them. These servos
and switches are bolted down rigidly to a base plate of plastic
and this, in turn is fastened down to the supporting structure
above the drive motors. The use of micros witches is impor-
tant. Since they snap into contact or out of contact, they make
motor housing at each end of the motor and then bolt that
89
CO c
90
C
C£0~
(0 <D
^= (D
._ « (0
« •
O "°
CTJ
E « <S
2a2 3
CO o>-* ©
.?(5 «:
91
down to the baseplate as shown. Observe, also, that this is but
one of the two drive motors required for steering and motive
power of the GARCAN robot.
have said that the drive transistors used with this motor
I
92
Fig. 3-14. High current motor control transistors on a heat sink base which also
serves as a support structure.
93
A T3 ©
m © C
© CO O 2 c "Z
_ .c w o cB o E
<=>
E og
•I
* ©
O CD C
CD
© coE Cfl -5
O (0 tr .o
CD ^ © I*
LU _.
gw 5£2
© 1* a>
°"E"S E
"35 v> £ .E
© O co O
o CO
c/)
T3
^^ o O CD
94
Before examining the circuit concept, we take a look at
Fig. 3-16 for another variation in this type of robot. This is a
Tall Boy unit with a high square body mounted to the base-
plate covering, and with its head bubble located at the top. It
stands some six feet tall, is painted black and when it comes
into a room it does create some excitement with its flashing
lights and strange noises!
95
We have stated that these robots are paraplegic— no
arms. one decided to add arms, it would require additional
If
96
& §
^o cc
CO GC CO
GO
CD
VW H^
Hs
"L
CO
+2
CD Oo
Qcrog
2 LU DC r;
LU £o°
Q>
97 t CO > Z
|5cvi o
g^OCC
W
O tr
i_
^
uj H-
C
<O^ LU 12
>s
> >
CO
97
android type of household servant will never be achieved
without it! The best way to understand how this might be
applied to the GARCAN robot, is to examine the following
circuits. First take a look at a sketch of the RC transmitter.
From it learn how the various robotic functions are con-
trolled. Examine Figs. 3-18 and 3-19.
Notice that even the voice is controlled by a stick posi-
tion. When you are steering GARCAN, you will be holding
this type transmitter and you will be using the thumb of each
hand to position the two sticks. Jerry tells us that with some
practice you can control GARCAN easily and accurately. Both
thumbs would be working simultaneously as you can imagine.
All radio control bugs will love this type robot! Now study
Fig. 3-20.
It might be of help for us to point out that if you do not use
the radio control link, then there must be two signals from the
digital-to-analog converter. One of these signals must go to
the motor controlling circuit. The second signal must go to
several standard type RC servo units which control the off-on
switching for other functions. A motor for this application
should be relatively small, be either permanent magnet or a
field wound, 12 volt, direct current motor of about lA horse-
power. If the robot you intend to power is much heavier than,
say, 100 lbs, then you might think toward a 1/3-horsepower
motor. Each motor must be capable of being operated at
normal speed and load with an input of around 6 amperes, and
its stall current or starting current should not exceed the 25 to
98
z
x O
1-* X LL
Z O oo o
m »- o ^
UWQ.^ r
Q_ LU
Z
O_
LU
LU Z
CD 1-O z
O
<
z
z
4 _ t-
o
LU
z
z
o
LU
Z
< RIGHT
MOTOR
FORWARC fl IGHT
OTOR
EVERSE
o
cc
LU
1 x^x O
CC
<
, X
1 PLAYER
TRACK
CHANGE
< o
TAPE
-n
r-ff
LJJ I-
1h
LU 3
OIOA OdIO
NO
*
A
t
MOTOR MOTOR
(DOWN)
LEFT LEFT
ON
c
co
ON E
IGHT
T d{2 xj
o
-J x xt x
LU o zo >s
CO
CD I]
OQ< Ox CD
CC
w
v oo r
1- LU
OO X
QC
LU o§S
Q
LU >-
< t; x
O h-
CL <
-.
HQ.O M
FORO
sINELR
FOR
<Q Q
X LU LU
O oo oo
W«
< LU LU
XX
OO <<
$00
™ _l
00
_l
-3 LU LU
zz z
< zz
2CHA 3CHA
GARC
CO
6)
99
ruary, 1978, issue of RC
Modeler magazine. The circuit is
developed around the NE544
chip made by Signetics Inc.
Extensive modification to the original circuit was required by
100
UJ
>
O .
cr 2co
°>£
co ^<
coo ^coO
^o
dc z
<< CO CL DC
LU*2
Q DC Z o
Qi ™
LU m
O n
§LU >
Q > H
z > h- CO *-
C\J
0]
h- V uj
51 m
co dc co
X
CO
-J
LU (J LU
* _l
i«? GO
<
> X O lLZ LU
U Ecooc >
4CO 2cr> O => CO
DC
_J -J
o
> t Oo
<zo w CM < LUO
DC UJ oO CO DC T
DCOLU
CJGC
CO
O^
C -ILUO
DC
O
I- CO
LU ^ cxj QS
"TT
— 2
Q
1 DC <
gig
o RZCD
CO
oz
O ^- DC lu
o
crQf < o0 ^ <<
2 <o
X DCO
|££5
^ — — —
Qh<0- OzxO
O- LU DC
§3
II
o<
n ?co~ Q
LU LU
oo < ^O CO u ^COI-X. CO
uj
DC ££ Q O Q Zg
co O - ODC 52 CO < oo
101
Q-
O
E
>>
o
Q.
o
E
o
0-
102
Rebman Electronics, and it is with their permission that we
examine it here. In Figs. 3-22 and 3-23 we can see the circuit
layout.
From the left side of the diagram, we find the input which
has been prepared for positive pulses. Some RC transmitters
and receivers use a negative pulse arrangement. There are
circuits which convert those negative pulses to positive
pulses and ACE Radio Control is one place where such con-
version circuits might be obtained.
Next we find the ground, or common connection and at
the top the 5-volt positive input supply line. Notice that the
ground connection is common to both the 5-volt supply and
12-volt supply. Both supplies must have a common ground.
The input pulses, varying in spatial position, or time
position, in accordance with desired commands, are input to
terminal 4 of the chip. Thence the chip's connections are
made to various resistor-capacitor arrangements among
which will be seen the trim pot and the range pot, two
important adjustments. The trim pot is used to set the motor
speed to zero when the transmitter control stick is at neutral.
Refer back to Fig. 3-18 and see how the motor changes its
direction of rotation as the stick is moved up, or moved down.
When both sticks are at the center or neutral position, neither
motor runs and so the robot stands still. The range pot
governs how quickly current is applied to the motor. This,
then, in turn, governs how quickly the robot will start to move
when you move the stick from the neutral position. You
simply have to adjust this potentiometer to your own re-
quirement. You don't want the robot jumping forward, and you
don't want to have to wait a long time for it to start moving. So
you adjust the range pot for a condition suitable to you.
The switching of large currents to the motor is ac-
complished by the heavy duty transistors to the right in the
diagram. Two 90548 types are used as drivers, and the others
control the flow of current to the motor windings. These
transistors take the place of relays— if you want to think of
them that way, but they do a little more than a relay can do.
They can control the amount of current passed, as well as the
direction of flow of that current. A relay cannot do this. The
103
+5 VOLT
RCVR
POSITIVE
SUPPLY
10 K n
TRIM POT
CENTER ADJ
ADJUST TILL MOTOR
DOES NOT RUN WITH
•STICK" IN CENTER POSITION
ioKn
TRIM POT
RANGE ADJ.
ADJUSTS MOTOR ACCELERATION
(NOT A CRITICAL ADJUSTMENT)
POSITIVE
PULSE
INPUT
.001 fif
25V
RCVR
GROUND a
PARTS LIST
2 - OHM /4 W RESISTORS
10K 1
2 •
90548 TRANSISTORS
1 - OHM y4 W RESISTORS
16K 2 •
MJ4502 100V 30A TRANSISTORS
3-100 OHM W RESISTORS
'/4 2 -
MJ802 100V 30A TRANSISTORS
4 47 OHM /4 W RESISTORS
- 1
Fig. 3-22. The Motor control circuit for GARCAN. Two such circuits are required,
one for each drive-steering motor (courtesy Rebman Electronics).
104
I .05 /xF
50V
DIODES
6A
.05 /xF
50V 47H
/4W
1
TO +12 VC
BATTERY
50V
90548
OUTPUT
TO
"° MOTOR
-90548
MJ802 MJ802
47n
V4W
r 05/aF
^
6A
50V
y .05/LiF
T 47H,
V4 W NEGATIVE
X 50V
DIODES
50V
I
12 VOLT
GROUND
o
relay can turn the current on or off and it can control the
direction of current flow, when properly wired, but it cannot
control how much current passes its contacts. So, we have
direction of rotation and speed of rotation controlled by the
heavy duty transistors shown.
Finally, on the construction side of our discussion, we
note that in the following chapters we will supply information
about robot eyes, brains, and mechanizations, which may be
of help to you in expanding on this basic unit, should you
desire to do so. While it will be fun to operate the unit as is,
still it is possible that you might sit back and imagine your
robot doing useful tasks and jobs for you. To that end it might
need arms and all the joints and appendages which will make it
useful in a working capacity. Computer manufacturers have
developed systems which can be interrogated and operated
105
106
via telephone from anywhere. It is not beyond belief that one
could have a home sentry robot in the house when one leaves
home for a trip that would report by phone!
107
Robot
Control
Programming
apply to another.
As we well one of the closely guarded secrets of
realize,
the commercial robotics companies may well be how to com-
municate with a particular machine. There is a good reason
for this. The simplicity or the complexity of the language
governs the simplicity or complexity of the machine itself.
109
The software used with a commercial robot may be a vital key
into its most guarded operational secrets. New patents are
filed constantly. And just as there are new machines arising,
there are also new methods of controlling these machines.
For a variety of reasons, some manufacturers are reluctant to
reveal these methods.
110
machine uses electricity as a working element, and so GF
must convert to electricity in some unique and distinct man-
ner so it cannot be confuse with any other electrical signal(s)
which might be present in the system. The computer can take
the GF input from two keys on its keypad and from its
memory section produce, as a function of time, a very specific
series of pulses when each key is pressed, which, in turn,
represent a code inside the machine, which can cause things
to happen. As you know a pulse, is known as a "one", and the
non-existence of a pulse, within a specified time interval, is
111
swing from an end position to the start
of an industrial robot to
position, then we must
either have a clock timing the arm
movement or a sensor at the end position which, when acti-
vated will send a signal the machine can understand, back to
its computing section to tell it to stop sending forward signals
112
GATES
CLOCK
TIMER
FEEDBACK
SENSOR
FORWARD
M
^
f
X
LEC
;
MOTORS
I MECH
OUTPUT
1/
4-ONES
PULSE
CIRCUIT EVENT 2
1h
3-ZEROS &
-HONE PULSE
1
CIRCUIT 3-ZERO's
^7 1-1
EVENT 3
SUB
ROUTINES
IF
USED
113
§8
is
° °'is
cvi£.E
114
type robots, perhaps with some modifications and improve-
ments, will be doing assembly of intricate parts, moving
various batches of materials from place to place and so on.
They will in the final stages of an assembly line conduct the
testing and evaluating of manufactured items and will accept
or reject such items as necessary.
Examine Fig. 4-3, which shows the articulation of the
arm, and its ancillary equipment. Notice that both electrical
power units and hydraulic power units are used to obtain the
necessary movements. You can see the hydraulic piston in-
side the elbow, for example, and you know that electric
motors are used at the wrist and gripper because they furnish
adequate power and are fast and small and relatively light
weight. In Fig. 4-2, if you will refer back to it, you can see the
space for dust and dirt to enter into the machinery is illus-
trated. Various types of grippers, the robotics word for fin-
gers, can be attached to the disc.
On the application shown, one must realize that there
must be a coordination between the arm and its companion,
the holding and turning unit. There is this coordination, and it
comes about by means of computerized control. Thus it is
incumbent upon the computer to know, exactly, where in
space the gripper is at any moment, and where the position of
the work is. A programmer had to figure out just how the arm
should move, that is, how much of a shoulder movement, how
much of an elbow movement, how much wrist movement, was
necessary to get the torch to the required points in space each
time a move of that torch-tip was required. As you can easily
see, there are countless movements of the arm itself and all
115
116
Fig. 4-4. The wrist and gripper of the Cincinnati Milacron T3 robot (courtesy
Cincinnati Milacron).
117
programs stored on cassette tapes so that you can use them
when appropriate. Change the arm movements with another
tape and then later, if it is needed, you can go back to the first
tape for the original movements.
Let us suppose that the job which we want to teach the
robot is simply a pick and place operation. That is, it must
move to an acceptance position. When the object that it is to
move comes along it will grasp the object, lift it and move it
around to another belt and then set it down, gently, and
carefully, and then return to the acceptance position to wait
for another object to come along. In this very simple example,
we aren't worrying about how the robot identifies the objects,
or if it is only to pick up certain objects from among many that
might be on the belt. We are just assuming that at very
precisely controlled intervals, along comes this thing which
the grippers on the arm are positioned to intercept. We aren't
even worried about the position of the thing. We assume it
will be so positioned that the grippers will be able to engage it
tightly in a proper manner and lift it without damage or
slippage.
Let us examine the teaching unit of Fig. 4-5. Notice that
we have some buttons which we can depress which will move
the arm, the wrist, and the grippers, in a multitude of direc-
tions.At first we proceed slowly trying to make the arm
swing around and set its gripper down on the belt in the
proper position to intercept the thing. If we make mistakes,
we can delete them and try again. Now we want to make the
arm remember this segment of operation and so, through the
proper button on the teaching device, we enable the computer
to memorize those movements we have had the arm perform.
We want to be sure. So we manually bring the arm around to
some arbitrary position and we engage the section which
causes a replay of our operation. The arm should move around
to the desired position and open its grippers ready for the
thing when it arrives. But, notice! The arm did not necessarily
move in exactly the same manner we moved it! Now what? Is
the arm beginning to think for itself?
No, the computer has taken all our little pieces of move-
ment and examined them and then, using the software de-
118
The teaching unit for the Cincinnati Milacron T3 robot arm. Step-by-step
Fig. 4-5.
movements are stored in the robot's minicomputer; the computer simplifies
these directions and controls the arm movements.
119
signed by some expert programmer, has done some re-
calculation and determined that the way we moved the arm
isn't the best way to move it. So the computer works out a
new spatial trajectory and moves the arm in its own manner.
The arm moves to exactly the position we want it to move to.
It orients itself in exactly the manner that we had it orient
itself and the only difference is the way the arm moves in
space to get there.
Now we need a thing and we need to slowly steer the arm
so it picks up the item and moves it over to the new location
and sets it down carefully on the belt and releases it. We take
120
shortest straight line path without any regard to
any other spatial orientation of the body.
"All three of these motion systems are selected by
pushbutton on the program entry terminal (teach-
ing unit)."
Fig. 4-6. The robot arm selects a "thing" and picks it up and moves it (courtesy
Cincinnati Milacron).
121
level to enable its grippers to grasp a thing. Next we can see
how the arm contracts as it moves upward.
Note in the lower right corner the display unit of the
computer cabinet. It is possible to look at the computerized
program for this robot on that display screen, and program-
mers will be happy to know they can delete or add or even
build a program using this display unit without having to
actually move the arm at all. It might be somewhat similar to
writing a program at home on your home computer. This
screen also will display diagnostic information, should that be
needed.
Finally, we mention that the reference point in this
system is that spatial point where the gripper tool meets the
workpiece. You have to know where that is, visually, if you
where it left off in the main program and, possibly using the
information from the side action, continue on its main pro-
gram operation.
With a computer which controls a robot machine, the
subroutine is sometimes called a branch action routine. This
simply means that the movement of the robot arm will be
made to follow something other than its normal movements
when an appropriate activation signal causes it to go into the
subroutine programming. We need to examine a situation
which illustrates this.
A truly general-purpose industrial robot system must
have some way of selecting or altering the normally pro-
grammed path and functions of its arm based on changes in the
working environment in which it operates. The name given to
122
this ability may vary from manufacturer to manufacturer, but
the purpose of the operation will always be the same. When
the robot's moving part reaches some point it will pause to
see if there is another signal at that point. If that signal exists,
then the robot will move into a subroutine. If, when the robot
looks for that subroutine input signal, it finds that it does not
exist, then the robot will continue its normal operations in
normal sequence.
In Fig. 4-7 we see a diagram which shows a mainline
program movement of a robot's arm, and a branch or sub-
routine break in that normal program movement. The exit
into the subroutine movements occurs at C when an appro-
priate signal comes into the robot's input. Normally the arm
will move on the trajectory A, B, C, D, E, and back to A. We
can also assume that when the arm is not working it will be
retracted to the position X, and that it must first extend from
X to A before it goes around that mainline trajectory. We will
imagine that the arm picks up something at A and moves it
around to E, drops or positions it there, and then comes back
to A to get another part.
Now let us see what could happen if an input signal
comes at the proper time when the arm pauses at C. Suppose,
just for an A may need to
example, that the part picked up at
have something else attached to it at F, G, and H before it is
ready to be placed or positioned at E. The branching input
signal then could mean that this part needs to go to all the
stations. The main program trajectory line is changed to
accommodate this required action.The arm goes into a branch
trajectory or into a subroutine program at point C and exits
that subroutine at D whence it is back on the mainline pro-
gram trajectory once more. Notice that if the arm pauses at
(C), and no input signal arrives, the arm will move on from C
to D and will not go through the subroutine operation. It is
123
124
robot might branch to another part of the program that would
dispose of that defective part, alert an operator to the fact that
was there, and then the robot might just shut
a defective part
down operations (as specified by the subroutine) until the part
was repaired or replaced or whatever.
The method discussed called standard branching is the
simplest way to change the robot's path programming, but
these standard branches are limited because each branch
must be associated with one particular input signal to the
robot's control system. This means that if there are X signals
required there should be X lines to carry this information to
the control system. It is possible to have fewer lines if an
external decision-making element (a computer) is available
which can look at all input signals simultaneously before
specifying the branching or subroutine operations. With 8
8
lines there are 2 or 256 different conditions for branching
that can be identified by the computer. In the Milacron Robot
System the extension of the standard branch is called a condi-
tional branch or subroutine.
125
BRIEF BOOLEAN ALGEBRA REFRESHER
Boolean Algebra is called the algebra or logic. It was
invented by George Boole, mathematician and logistician, in
1847. This is the algebra of automatic control and switching
devices in today's world.It permits one to present switching
on.
Finally we can write:
3. A«B where the bar over the B means NOT or a
negative. Thus, the circuit is on and NOT the light.
126
o A
INPUT OUTPUT
CIRCUIT EXPRESSION = A • B
BEFORE AN OUTPUT IS OBTAINED
A .
o
INPUT w OUTPUT
CIRCUIT EXPRESSION A + B
BEFORE AN OUTPUT IS OBTAINED
^L
INPUT OUTPUT
127
is common to use a zero for an open circuit output and a one
for a closed circuit condition.
With this concept of algebraically stating the condition of
circuits, it is customary to express the Boolean conditions as
follows:
128
MORE ABOUT ROBOT BRANCHING OPERATIONS
To illustrate one use of conditional branches, imagine
that you have a material handling situation in which a super-
visory computer is being used, and this computer is also being
used for other automation functions. Remember that the
number of lines required for a given robot's operation can be
stated in powers of 2, then, if the robot machine requires 16
signal inputs, the robot will require only four lines to convey
to it all the information it needs to get the proper branch
program into operation.
In many applications of a robot machine in industry it is
129
INTERRUPT POINT
0B02
0A02
0A02
130
data points within an existing cycle, based on changes in
external equipment and workpieces. In a way, this might be
called adaptive control where the current condition of some-
thing specifies what the future operation will be.
One example of how this type of adaptive control might
be used is in stacking, or handling operations from a stack,
where the items may have a variable thickness, or the stack
may vary in thickness or height. In this case you can readily
realize that the arm must progress from some fixed-level
starting point, where it begins to "pick up" the parts, and
descend to lower and lower levels each time a part or work
piece ismoved out of the stack. The control operation in this
type of movement is called a search function.
The data comprising a complete branch sequence in the
robot control can be rewritten with data from the external
computer system. Thus, if the position or orientation of a
workpiece varies, the robot's movements and functions can
be adjusted by the external device so that it will properly pick
up or perform the required operations on the workpiece. If an
emergency situation is detected, a branch can be replaced
with other branch data which will enable the machine to
handle this specific emergency condition. The speed at which
this data is fast enough
can be transmitted to the robot control
to complete the communication in a fraction of a second, so
this type of branching has been and is called adaptive branch-
ing.
131
In an example, imagine that the robot arm is to pick up
some automobile windshields from a stack of them, and place
them one at a time on a conveyor belt, off to one side of the
stack. Recall that only the starting point above the stack and
the bottom point, at the bottom of the stack, are necessary to
be known by the robot's control machine. Thus, when the arm
goes from the start position down the stack, it stops itself
when its sensor contacts a windshield. The gripper then grips
that unit, and immediately moves it along a prescribed path to
the conveyor belt and deposits it there. Then the arm goes
back to the start position and resumes the operation all over
again. It is not necessary for the program to include the
specific pieces of work on on the
their positions, the sensor
robot's arm takes care Only when the robot's arm
of that.
reaches the second point, or stop position— meaning it is at
the bottom of the stack— will the arm move to some rest
position and stop moving.
Of course we realize the possibility of interrupting a
normal branching operation with an interrupt signal. This
signal might cause the arm to skip some movements and
move on to others, or go into an entirely new routine. Of
course any routine must have been taught to the computer by
moving the arm, with the teaching unit, or must be specified
by signals on a cassette or other similar type tape.
COMPUTER-USE SUMMARY
So we have learned that a computer can direct a ro-
bot—which, of course you already knew— and we now have
some concept of how the computer does this. The output of
the computer will be a series of signals to a bus which might
have, in our case, say, eight lines or terminals. When various
keys are pressed on the computer keyboard, the closing of the
key-switch contact will cause the computer, through its in-
ternal circuitry, to energize some combinations of these ter-
minals. Since a terminal status can be specified by being
either on or off— a two state condition— we can then consider
the permutations and combinations of eight things taken in
two conditions and we find that there are 256 possible states
132
of output, each being completely different. Of course if we go
to a 16 line or terminal type output on the I/O board, then we
will have 2 16 unique states for control. We leave it to you to
determine the numerical value of this possibility.
In order to control the higher values of voltage and
current necessary to really operate the control system of a
robot, some isolation condition must exist between the com-
puter and the controlled circuitry. This can be accomplished
by using optoelectronic circuits, or reed relays, or some kind
of similar devices. The computer output then operates these
devices and they, in turn, will operate the higher current and
voltage control lines.
When sensor input is required to the computer, these
signals come from sensors attached to the robot's position-
ing and moving elements or from scanning elements such as
TV microwave, sonic, or thresh-hold switches. Sensors such
as piezo crystals generate a current proportional to the force
on their containment cases. This voltage then must be di-
133
SOME CONSIDERATIONS OF ROBOT DESIGN
The robot ismachine and can be a very complex
a
machine if the situation and conditions warrant this type of
development. The robot falls into a category of machines
which are usually studied under the heading of feedback
servo mechanisms. This is really a fascinating subject and it
embodies the best application of such mathematical concepts
as the LaPlace Transforms and Fourier Transforms to ex-
press mathematically how such machines will operate and
react to various input or operating conditions. When design-
ing such a robotics system one takes into account such things
as:
134
through a process of measurement and evaluation and adjust
itself to a new set of conditions in which it operates.
What a robot design engineer is always looking for is the
optimum response or operation of the system. That is, the
system must not work too fast or too slowly, but at the right
speed for the process or job at hand. If there is some change in
its environment— say that this might be the speed at which
parts are sent to it— then it should be able to adapt itself to the
new speed of arrival of parts and continue on merrily and
happily without any problems.
To make system which does things at the right speed,
a
as an example, we make an assumption that we know what the
right speed is. We then program this speed into the machine
and provide it with sensors which can determine at what
speed it is operating. Then, inside the machine, some comput-
ing element compares its speed at present to the speed which
we say is ideal, and the machine can then take the difference
between these two and uses that as a control signal to adjust
the speed of operation. Of course, you might imagine that the
speed signal we send into the machine when the operation
starts is just a priming signal. Once the mechanism is in
operation, this signal is constantly adjusted by adaptive cir-
cuitry so that the optimum or best response for that situation
is accomplished.
In the advanced world of robotics design you make use of
sampled data systems as well as adaptive control systems.
135
coordinates at any second? What reference plane are those
coordinates on? Luckily for us, some manufacturers have
developed what is called a stepping motor. It can help us
answer the basic question.
As you know a stepping motor is one which revolves a
given amount when supplied with a pulse of electric current.
That amount might be five degrees or it might be twenty five
degrees. If pulses are supplied in a continuous train, the
armature of such a motor revolves in a continuous manner,
and if the pulse rate is fast enough we will not be aware that
there is any difference between the rotation of this type
motor's armature and the armature of any other motor. Both
revolve smoothly and quickly, but, there is a difference, and
an important one to us.
With a stepping motor we can govern distance traveled
or arm movement quite precisely. If we have a motor which
turns five degrees with each applied pulse, due to the way it is
built there must be a space (no-pulse) following each pulse, or
it won't work right. Divide 5 degrees into 360 to get the
portion of a turn each pulse represents. This number times
the circumference of the motor wheel ishow far that wheel
willmove on a floor with each pulse. Next we make a small
diagram of the movement our mobile robot should follow as
shown in Fig. 4-10.
What we do is to program a number into the computer
memory, for this example the number 11. Next we program
the computer so that when this number has been counted
down a subroutine will activate which will cause the steering
wheels to turn as shown through the angle alpha. The com-
puter knows that this has been done by monitoring a voltage
proportional to the angle the steering-drive wheels make
with the robot's frame, which can come from a potentiometer
mounted on the steering section of the robot. Now a second
drive subroutine count-down section begins and at the same
time the steering wheels will equalize in speed turning
straight ahead almost immediately after the robot starts mov-
ing. It will move straight along the X path for 8 pulses, turn
again thru the pre-set angle and continue 4 pulses to the stop
position. If you try to make such a robot, some experimenta-
136
137
tion will be required, but this concept will enable
it to do what
138
First, many programmers lack the combined hardware
and software knowledge needed to do control programming.
Second, the company is understandably concerned about dis-
seminating too much information dealing with the internal
control of a machine that they have invested years of design
work and money in. Third, most companies installing such a
system would probably not want to hire a programmer just to
do one job (though this is changing) and a short term contract
with a specialist is pretty expensive. There is a solution
though, and most companies will probably be going to this
method eventually, though today most are still using the first
method discussed.
There are high-level languages that are very easy to
program in but do not compile down to very efficient machine
code. Most of them have the capability of linking subroutines
that are already in machine language to a program being
compiled. So the manufacturer writes a group of very efficient
routines for directly controlling the robot, and supplies them
as a library of added functions to a language like BASIC or
FORTRAN.
There have been some studies of robotics conducted at
139
"Two examples are MOVE and TURN. MOVE
causes the robot to move in a straight line by turning
both wheels in unison, and TURN causes the robot to
rotate about its center by turning the drive wheels in
opposite directions. The arguments of MOVE and
TURN are the number of steps that the drive wheels are
to turn (each step resulting in a robot motion of l/32nd
inch)and status arguments which allow inquiries to be
made about whether the function has been completed or
not.
"Once begun, the execution of any function either
proceeds until completed in its normal manner, or
it is
140
The action unit system now ceases to be strictly hierar-
chical (arranged in a graded series or sequence) since,
now, some of the two letter commands can cause other
commands to be executed. This means a branching type
subroutine operation.
"In this system, developed and studied at SRI, one
two-letter command (EX) takes as an argument a series
of X,Y coordinate positions in the robot's world. Execu-
tion of EX causes the robot to travel from its present
position directly to the first point in the sequence,
thence, directly to the second point in the sequence,
etc., until the robot reaches its final destination as pro-
grammed. Another two-letter command (PI) causes a
picture to be read after a TV camera is aimed at a
specific point on the floor to see if there is an object
there or not. The ability to travel by the shortest route
to a specified goal position along a path calculated to
is programmed by the two- letter com-
avoid obstacles,
mand TE. Execution of this command requires that the
computer solve the path coordinates using a special
problem solving system which is activated by the two-
letter command PL."
141
Now the problem as the robot sees this is that the three
objects may not all be at place p, nor are they in situation s. So
the robot must move them until this problem statement is
satisfied. Notice that the command is not given to the robot to
find OBI and push it to place s, find 0B2 and push it to place s
and find 0B3 and push it to place s 2 .
In this case one would suspect that the robot would move
its camera eyes around until it could identify OBI either by
color or shape or both, and then track it down and move it to
place s where s has been indicated to the computer in the form
ofX,Y coordinates. The proof of the action would be that the
would look at the space s and if it
robot, from a position x1 ,y
1
there found the form of OBI, it would then look around for
0B2, etc.
We have included this information on this study because
it indicates some methods of programming robots, and the
use of a two-letter FORTRAN language. In this study, the SRI
group also used LISP language. It is stated that
Another LISP program enables commands stated in
"...
142
but also, in some cases the fore-arms and even an immobile
device such as a vice, which holds the work to which the piece
is to be bolted. In a manner of viewing this situation one can
say that the human has provided himself with another hand or
two in order to hold everything together so that the bolting
process can be accomplished. In the simplest sense, the two
parts are held by a vice, one hand inserts and manipulates the
bolt, and the other hand holds and /or manipulates the nut onto
the bolt, after first placing the washers in position.
From this example then, we should be aware that a
system of assembly in an industrial situation might involve a
robot machine with three or four arms. Actually the device
which positions the workpiece can also be called a part— even
if it is a remote part— of that particular robot system, and so
143
TESTS, ADJUSTMENTS AND REPAIRS
Even now we have computers with diagnostic programs.
One can envision in the robotics systems of the future that the
machine itself, when it gets a signal from some source that
something is not going exactly right, will stop, initiate its own
diagnostics program to find out what is wrong, and then, using
visual and audible communications, tell its human supervisor
verbally to fix the bolt on number 4, left hand, third finger
digit. In all the current studies, at least to date, one doesn't
find robots capable of repairing themselves without human
help.
Also, these robotics systems must have diagnostics
programs written, and fed to it by human hands or voices. The
need for people in such systems is still current and in evi-
dence. A diagnostic program is really just a check-through of
the operation to see if all the movements and operations
required are accomplished with the normal input signals. If, at
any stage, the robot's response is not correct, then a signal
will inform the supervisor that some adjustment, testing, or
repairs are needed.
144
Programming the ff^
Prab Versatran Robot )^
145
machine with the concept of a robot, such as we imagine from
science fiction tales, but it is a robot in every sense except
physical appearance.
We can view some other applications of this type robot in
Fig. 5-2, wherehas an arm moving from a shoulder section
it
146
2 =>
~w
o
o
o &
03 O £
£ en O
.o-o c
CO • o
. o n
t- 00 f0
uS £0l
147
O
(0
o
CO jfl
c Q.
o § «r
ro « o
.
**
£a
co 2
in Q.Q.
• 6 >,
O) t; W)
il coS
148
149
feedback signal which is generated from the position of the
output member in question. If we assume that the command
signal is simply a reference, then it is the magnitude of the
feedback signal and its polarity or phase which will govern the
effect of the two signal comparison, and thus govern the size
of the error signal. Since the system power unit operates on
the difference (error) signal, then the closer the output arm
comes commanded position, the smaller the signal
to the
becomes. At some point this signal becomes so small that it
will not cause power to be applied to move the arm further.
Where is the arm, or end appendage at that moment? Is it
precisely where the command calls for, or is it within some
tolerance, perhaps in the thousandths or even ten-
thousandths of an inch from that position? It cannot be per-
fectly positioned, thus it is within some tolerance.
Now, to gain a full appreciation for the complexity of
these systems, note that when moving the end appendage, the
system must reach many positioning points. First, for exam-
ple, the arm must rotate to a given azimuth and stop there
within the tolerance accuracy. Next the arm must extend to a
given distance and stop there within a specification accuracy.
The end appendage may have to rotate about two axes within
given accuracy specifications, and finally that end appendage
may have to advance a given distance to within a specified
tolerance. One notes, then, that errors in one element may
effect the errors in another element. The errors may become
cumulative, affecting the overall precision.
It has been argued that because the end device generates
a feedback signal of its own that all other errors in the
system's moving parts will be compensated for. However,
there is still velocity and acceleration control that must also
be within tolerance.
If a robot were used where it puts a bolt through a small
tolerance hole, then the tolerance or accuracy of the robot's
positioning of the bolt must be within the hole tolerance or
better! In a case where the robot simply grasps something
from a conveyor belt, such tight precision may not be neces-
sary. The point is, it is the overall accuracy of the robotics
150
system which, in large part, controls its cost! The more
preciseit must be the higher its cost.
PROGRAMMING AN INDUSTRIAL
ROBOT: THE PRAB VERSATRAN
Through the courtesy of Prab Conveyors we will now
examine their Versatran robot to learn how it is programmed.
General Information
Versatran robots combine electronic, mechanical and
hydraulic action with flexible programming to provide gen-
eral purpose machines capable of performing highly accurate
and precisely controlled work functions. The object of the
Versatran System is to drive the robot arm through a combi-
nation of motions and directions to perform a specific task.
The Versatran System is classified as a point-to-point
automatic system. In a point-to-point system, program com-
mands define specific positions or points in space to which the
robot arm is to travel. The robot arm will move simultane-
ously in all axes (directions) requiring change to reach the
defined position. In this way the most direct route will be
taken to the new position. In the basic 3-Axis Versatran
System, the Horizontal, Vertical, and Swing axes are pro-
vided. Optional wrist motions, including Rotate, Sweep, and
Yaw axes, can be added to the tooling end of the robot arm to
extend its work Also a Traverse motion can be
capability.
added when it is move from one
desirable to have the robot
location to another in performing its operation.
151
combining a function command with a function value to pro-
duce a definite action.
Programming Rules. Programming or "teaching" the
Control Unit is simply the act of establishing a sequence of
coded instructions which directs the Control Unit to perform
a particular task.
Programming is only as successful as the operators abil-
ity to understand the fundamental activities of the task to be
performed. A good, sound structuring of a program is advis-
able to keep programs simple, clear and complete. The fol-
152
ments such as teach, run program, erase program, etc.
(b) Manual Controls: These controls are used primarily for
establishing, recording, and modifying the robot arm posi-
tions.
Operational Controls
153
(c) Single Step: The Single Step position is used when it is
-CAUTION-
When operating the JOG control observe that the Robot
Arm travels a path which is free of any obstructions. If the
Robot Arm cannot be jogged to position without striking an
object, release the JOG pushbutton and operate the manual
axis request and axis direction controls to move the robot arm
around the obstruction, then continue operating the JOG
control until the robot arm arrives in position.
Program Erase. The Program Erase control is used to
clear the program identified by the Program Number Indi-
cator from memory. Once the program is erased all instruc-
tions and recorded positions are cancelled from the program.
154
PROCEDURE:
(a) Place the Select key in the TEACH position.
Mode
(b) Select theProgram to be erased from memory by using
the Program Number Request Procedure.
(c) Press three (3) times in sequence: PROGRAM ERASE
then ENTER. (Three times are required to prevent acci-
dental erasures.
Lamp Test. The Lamp Test is a Control Unit exercise
which scans all of the functions of the Unit. In this way a
self-test operation can be performed. Each control button on
the Program Teach Panel which normally lights will be
lighted in sequence, beginning with the PROG NUMBER
control at the upper left of the panel and continue to the right.
At the same time the Digital Indicators will display eights
-CAUTION-
Pressing the LAMP TEST during operating modes other
than TEACH will cause the hydraulics to shut down and the
operating program to stop.
Cassette & HHTU Connectors. The HHTU is used
primarily to record and modify positions for precise control
from a remote station. The HHTU utilizes a thumb pressure
contact switch called a "dead man switch" as a safety measure
for operating the robot arm while standing in the vicinity of
its' working area. In the event unwanted motions are encoun-
tered which may cause damage or personal injury, releasing
the "dead man switch" will cause the hydraulics to automati-
cally shut down and immediately stop the arm motion.
(HHTU = HAND HELD TEACHING UNIT)
When the HHTU is connected to the Program Teach
Panel manual controls are automatically transferred to the
all
155
(b) Select the desired Program Number to be used.
(c) Establish and record the HOME position (position 1).
Manual Controls
The Manual Controls are used for setting, recording, and
modifying the robot arm positions. These controls consist of
axis request, axis direction, record position, modify position,
and next position number controls.
Setting the Position. Each one of the seven (7) possi-
ble axes has its specific request control. All axes are iden-
tified with yellow lighted pushbuttons for operator selection.
(a) Axis Request: When a change in a particular axis is de-
sired, the corresponding Axis Request pushbutton should
be selected. Once pressed the Axis Request control will
light as an indication of the request.
NOTE: If an incorrect axis has been selected, pressing the
desired Axis Request control will automatically change to
the intended axis.
(b) Axis Direction: The Axis Direction controls are identified
as ADVANCE and RETRACT. These controls will move
the robot arm in the corresponding direction relative to
the particular Axis Requested. Depressing and holding the
Axis Request control will result in acceleration to pre-
determined velocity, while tapping the control will move
the axis one count for each tap of the control.
NOTE: Motion of the robot arm requires hydraulic as-
sisted devices and therefore the HYDRAULIC UNLOCK
and PUMP ON Control on the Operator Control Panel
must be actuated.
When moving the robot arm with the Advance or Retract
Controls, either control must be pressed and held until the
robot arm arrives at the desired position. If the direction of
motion is opposite the intended direction, operating the other
Axis Direction control will provide the desired motion.
Movement of the robot arm to the desired position is a
result of operating the individual Axis Request and Axis
Direction Controls until their combined motions place the
robot arm in the desired position, that position should then be
recorded.
156
Recording the Position. Motion of the robot arm can
be achieved by operating the manual axis request and axis
direction controls in any of the MODE SELECT positions,
other than the Single Step Position. However, to record a
MODE SELECT KEY should be placed in the
position the
TEACH position.
SAMPLE 1: Assume the robot arm is in the position A as
shown by the heavy solid lines of the drawing in Fig. 5-4. The
objective is to record the two positions indicated by the "x".
PROCEDURE:
(a) Place the MODE SELECT key in the TEACH position.
(b) Activate the hydraulics.
(c) Select the desired program number which is to be used.
(d) HORZ Axis Request and operate the AD-
Select the
VANCE CONTROL until the arm is in the desired out-
ward position.
(e) Select the SWING Axis Request & operate the AD-
VANCE Control until the arm is over the target. (1)
ADVANCE
ING
TARGET 2 V-
^0" 1 = TARGET (1)
/
^ HOME
(A)
ARM MAY
TAkT
MPvt TUIO DPTI IDM \ POSITION 1
I nio nciUnrM
1
OR GO FROM 2 TO
ON A CYCLIC
1
BASIS
ikf<
r.
Fig. 5-4. Manual movement of the Prab Versatran robot arm (courtesy Prab
Conveyors).
157
(f Press the RECORD POS control to record the position in
memory (position indicator will display the position
number just recorded.)
(g) Select the Swing Axis Request and operate the RE-
TRACT Control (if necessary) until the arm is directly
over the second target.
(h) Press the RECORD POS Control to record the position in
memory.
NOTE: Always attempt to record position number 1 (A) as
-CAUTION-
Keep in mind, the Versatran System is a point-to-point sys-
tem. Consequently, the combined motion of the robot arm
will take the most direct route from one position to the next.
Care must be taken to assure that the robot arm has a free
A JOG to Position, after making a position
path to travel.
number request, will test the path of travel for the robot arm.
(a) Place the MODE SELECT key in the TEACH position.
(b) Select the desired program number to be used.
(c) Select the Next Position Number of interest.
(d) Press and hold the JOG switch button until the arm
158
arrives in position. (When the robot arm arrives in posi-
tion the JOG lamp will go off),
3(B) 2 = (A)
mift
Programmed arm moves around obstacle (courtesy Prab Conveyors).
Fig. 5-5.
The robot arm comes to an abrupt stop at the home position and immediately
resumes its motion toward the next position (3) or (2).
159
(b) Select the desired program number to be used.
(c) Select the Next Position Number of interest.
(d) Operate the Axis Request and Axis Direction controls
until the robot arm is in the desired position.
(e) Press the MODIFY POS Control. The Control Unit will
Function Controls
160
Sequence Function Function Instruction
No. Command Value Enter Code
BEGIN; Prog Number 1 (.;PGN. . .1:)
161
program. Also, it is good practice to place the Home Position
(position 1) at a point which is out of the way. When the last
position called in the program is the Home Position the robot
arm will coine to rest (out of the way) when a COMPLETE
PROGRAM THEN STOP is activated,
(c) Source Program:
(d) Teach:
( i) Mode Select key to the TEACH position.
( ii) ENTER the Source Program in sequence starting
with BEGIN.
(iii) SET and RECORD positions 1 and 2.
(e) Check:
( i) Mode Select key to the SINGLE STEP position.
( ii) Press the SINGLE STEP FWD Control to review
each instruction in sequence.
NOTE: If desired, the JOG switch button can be operated
each time it lights to move the robot arm to each new position.
This practice is advisable to assure the operator that the arm
has a free path to travel.
(f) Operate the Program:
162
1-16 are incremented from V2 IPS to 37V6 IPS with function
163
oooooooooooooooo
WWLULUUJLULJJWuJLULUUJLULJJllJLIJ
^\^V^V^\\\\\\\\\\\
cocococococococococococococococo
»-
oooooooooooooooo
LUIIJUJLULUIIJIlJlJJIlJLUllJuJUJLUIXIuJ
co
QC
$
\\\\w\\\^\\w\\
COCOCOCOCOCOCOCOCOCOCOCOCOCOCOCO
oooooooooooooooo
OOOOOOOOQOJUOOOOOLOOO
oir>oi/)omoir>o->-csjcoir>tDi >.oo >
OOOOOOOOOOOOOOOO
UJlXlllJUJLULULUllJLlJLULUuJliJLUIlJLU
o
LU
Q \\\W\\\\\^\W\\
COCOCOCOCOCOCOCOCOCOCOCOCOCOCOCO
OOOOOOOOOOOOOOOO
O C9 IXIUJLUUJIXIuJLULUIIJIIJuJUJIJUIIJIJJuJ
< Z
SNSSS\NSN\NNSS\N
COCOCOCOCOCOCOCOCOCOCOCOCOCOCOCO
000000000; O O
CO
Qoooooooocvjinoooomoo i
^"^^-oococoooouS-ot^-cocgcvjT-
,-
C\J CVJ CVJ f- <r- r-
OOOOOOOOOOOOOOOO
WWWUJLUIJJIJJWIjJLULLJLLILlJLLILLILLI
QC
sswssssssvswss
cocococococococococococococococo
oooooooooooooooo
c
O
•*=
(/)
CD
2 UJWWWWL1JWWLLILIJLLILLILLIL1JLLIL1J E
Z COCOCOCOCOCOCOCOCOCOCOCOCOCOCOO)
v.^^x^^v.^^^^^x.-^^'^v*
co
3 CO "^
b b b bob b b b In b in bin b in
O*00W<DOtC00WO0)N(D^C«)i-
S8
coinTfTtcococvji-i--^
0) ^
•S
«
z
O O CO
u j
P= i
c ^
com^-cocvjT-oojoor^cDin^-cocsj^-
p
u.
1
COO
> 0)
3 >
OOOOOOOOOOOOOOOO
UJIIJUJLUIJJuJLUIIJLlIIJJLULULULULULLI ?>
co
o
i-
co
QC
^\\w\\^\\\\\\\\
COCOCOCOCOCOCOCOCOCOCOCOCOCOCOCO
oooooooooooooooo
1:
5 ootomwoooio^woxo^i-oomn
-^o>mcO'»-oocO'^-c\j'»-'»-t-T-
y— r- y— y—
C\J
si
>-
t- oooooooooooooooo il
> s
5
o C9 LUUJLUIlJLULULUlIJLUliJLUIIJLULULULLl o g"
_ Z C/)C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0 o 2
> 5
CO
oooooooooooooooo
pmooomooo^ooiowoooto^w o to
o c
r^coT-ooocomcO'r-T-t-i- CO O
co E
oooooooooooooooo
UJIIJLUUJLUIIJUJIJJUJLULlIuJIIJLLILIJlU
>»
x
o to
CO
QC
< cocococococococncococncococococo
>W»'n
o
V,'^,'N.V ,"^'V, V. ^>s.V.'V.V»>s,
>
, ,
s "© CD
Z "3.
-J ^ P5 "^r-r r-
h-"™C\J^^^ ftl 1
^
CO
^
CVJ
**"
y- ^ 2:
CD -^
,c -5
CM
CO
f1
164
- —
transfers to another program in memory.
EXAMPLE 3: Set Velocity & Set ACC/DEC (SVL. .XX &
SAD. .XX)
(a) Purpose: To move the robot arm from Home position to
another position and return home at a medium high veloc-
ity and acceleration.
(b) Detail:
Identify the Program Number to be used.
STEP 1: MOVE AT MED/HI VELOCITY
STEP 2: MOVE WITH MED/HI ACC/DEC
STEP 3: START AT HOME AND MOVE TO NEXT
POSITION.
STEP 4: RETURN TO HOME
STEP 5: REPEAT THE PROCESS
(c) Source Program:
Sequence Function Instruction
No. Command Value Enter Code
BEGIN; Prog Number 3 (.;PGN. .3:)
(d) Teach:
( i) Mode Select key to the TEACH position.
( ii) ENTER the Source Program in sequence starting
with BEGIN.
(iii) SET and RECORD positions 1 and 2.
(e) Check:
( i) Mode SINGLE STEP position.
Select key to the
( ii) SINGLE STEP FWD Control to review
Press the
each program instruction in sequence. If desired, the JOG
switch button can be operated each time it lights to move
the robot arm to each new position. This practice is
advisable to assure the operator that the robot arm has a
free path to travel.
(f) Operate the Program:
( i) Mode Select key to the AUTO RUN position.
( ii) Press JOG to move the arm to HOME (position 1).
(iii) Press RUN PROGRAM to execute the program.
165
EXAMPLE 3: Set Velocity & Set ACC/DEC (SVL. .XX &
SAD. .XX)
(a) Purpose: To move the robotarm from Home position to
the next position at a medium-low velocity and return
Home at a high velocity, then repeat the process.
(b) Detail:
Identify the Program Number to be run.
STEP 1: MOVE AT MED/LOW VELOCITY
STEP 2: MOVE WITH MED/LOW ACC/DEC
STEP 3: START FROM HOME AND GO TO NEXT
POSITION
STEP 4: MOVE AT HIGH VELOCITY
STEP 5: MOVE WITH HIGH ACC/DEC
STEP 6: GO HOME
STEP 7: REPEAT THE PROCESS
(c) Source Program:
Sequence Function Function Instruction
No. Command Value Enter Code
BEGIN; Prog Number 31 (.;PGN. . .31:)
1; SET VEL 6 (1;SVL . .6:)
4;
SET VEL 14 (4;SVL .14:)
5;
SET ACC /DEC 12 (5;SAD. .12:)
(d) Teach:
( i) Mode Select key to the TEACH position.
( ii) ENTER the Source Program in sequence starting
with BEGIN.
(iii) SET and RECORD positions 1 and 2.
(e) Check:
( i) Mode SINGLE STEP position
Select key to the
( ii) Press the SINGLE STEP FWD Control to review
each instruction in sequence. If desired, the JOG switch
button can be operated each time it lights to move the
robot arm to each new position. This practice is advisable
to assure the operator that the arm has a free path to
travel.
(f) Operate the Program:
( i) Mode Select key to the AUTO RUN position.
166
( ii) Press JOG to move the Robot Arm to Home (position
1).
167
NOTE: According to the detail of example 4, the robot arm
will move from position 2 to 3 and continuously operate
between these two positions. Movement from position 2 to
position 3 is done with a med-low velocity and the return to
(d) Teach:
( i) Mode Select key to the TEACH position.
( ii) ENTER the Source Program starting with BEGIN.
(iii) SET and RECORD position 1 (Home), 2 and 3.
(e) Check:
( i) Mode SINGLE STEP position.
Select key to the
( ii) Press the SINGLE STEP FWD Control to review
each instruction in sequence. If desired, the JOG switch
button can be operated each time the lamp lights to move
the robot arm to each new position. This practice is
advisable to assure the operator that the arm has a free
path to travel.
(f) Operate the Program:
( i) Mode Select key to the AUTO RUN position.
( ii) Press JOG to move the robot arm to Home (position
1).
168
number to be set at no
function value that identifies the timer
less than second and no greater than 99.9 seconds. The
.1
169
(a) Purpose: To move the robot arm to position 2 and wait for
two (2) seconds and then move to position 3 and wait for
two (2) seconds. REPEAT THE PROCESS.
(b) Detail:
Identify the program number to be used.
STEP 1: START AT HOME AND MOVE TO
TARGET A.
STEP 2: SET TIME (2 SECONDS)
STEP 3: WAIT TIME
STEP 4: INITIALIZE VELOCITY (MED-LOW)
STEP 5: INITIALIZE RATE (MED-LOW)
STEP 6: GO HOME
STEP 7: GO TO TARGET B.
STEP 8: SET TIME (2 SECONDS)
STEP 9: WAIT TIME
STEP 10: INITIALIZE VELOCITY (MED-HIGH)
STEP 11: INITIALIZERATE (MED-HIGH)
STEP 12: GO HOME
STEP 13: REPEAT THE PROCESS
(c) Source Program:
(d) Te ach:
( i) Mode Select key to the TEACH position.
( ii) ENTER the Source Program starting with BEGIN,
(iii) SET and RECORD positions 1 (HOME), 2 and 3.
(e) Check:
( i) Mode Select key to the SINGLE STEP position
170
( ii) Press the SINGLE STEP FWD to review each in-
171
NOTE: TEACHING the Source Program of example 5.1 to
the Control Unit without a valid external command signal on
arm motion to cease at position 3
line 1 will result in the robot
where it will wait indefinitely for the resume command. To
execute the above program without a valid external command
signal; press CONTROLLED STOP, then RUN PROGRAM
Controls on the Operator Panel. The interlock will be by-
passed and the program will resume with the next program
sequence instruction.
Output Command On & Output Command Off In-
structions: (OCON. .XX & OCOF. .XX). When either an
OUTPUT COMMAND ON or OFF is selected, to be
it is
172
STEP 4: PICK UP PART
STEP 5: SET TIME V2 SECOND
STEP 6: WAIT TIME
STEP 7: INITIALIZE VELOCITY (MED-LOW)
STEP 8: INITIALIZE RATE (MED-LOW)
STEP 9: GO HOME
STEP 10: GO TO TARGET B
STEP 11: SET TIME V2 SECOND
STEP 12: WAIT TIME
STEP 13: RELEASE PART
STEP 14: SET TIME V2 SECOND
STEP 15: WAIT TIME
STEP 16: INITIALIZE VELOCITY (MED-HIGH)
STEP 17: INITIALIZE RATE (MED-HIGH)
STEP 18: GO HOME
STEP 19: REPEAT THE PROCESS
(c) Source Program:
(d) Tcjach
( i) Mode Select key to the TEACH position.
( ii) ENTER the Source Program starting with BEGIN.
(iii) SET and RECORD positions 1 (Home), 2 and 3.
173
(e) Check:
( i) Mode SINGLE STEP position.
Select key to the
( ii) Press the SINGLE STEP FWD Control to review
each instruction in sequence. If desired, press JOG
switch button each time the lamp lights to move the robot
arm to its new position. This practice is advisable to
assure the operator that the arm has a free path to travel.
(f) Operate the Program:
( i) Mode Select key to the AUTO RUN position.
( ii) Press JOG to move the ROBOT Arm to HOME
(position 1).
174
RETURN TO CALL
PROG & DO INST
FOLLOWING DE-
PARTURE
POINT
YES
DO PROG
IDENTIFIED SAME AS
PROG MADE
BY THE NPN ^REQUEST,
REQUEST
NO T NO
»"f
1
/DICNv /did\
DO YF
tbc
/^XT PROG\
—<\aux
NO
yt^EQUESTV
\^ COMPLETE
S^^ J
AUX -« REQUEST >* TO
STOP "1 PROG THEN
PROG \ RUNprog/
/ sOCCURR/ STOP
1 YES
/" EXT PROG "\
STOP
V^ REQUEST J ( J
Fig. 5-6. A Flowchart for the Versatran robot Executive Program (courtesy Prab
Versatran).
175
The main program calls for subroutine #2 at instruction
5; NPN. . .1:
176
177
becomes the HOME POSITION or position 1 of the sub-
routine. All motion of the robot arm in the subroutine is
MAIN PROGRAM
Identify the program number used.
STEP 1: INITIALIZE VELOCITY
STEP 2: INITIALIZE RATE
STEP 3: START AT HOME & GO TO
POS2
STEP 4: GO HOME
STEP 5: GO TO POS 3
STEP 6: DO SUBROUTINE 12
STEP 7: GO HOME
STEP 8: REPEAT THE PROCESS
SUBROUTINE
Identify the program number used.
STEP 1: INITIALIZE VELOCITY
STEP 2: INITIALIZE RATE
STEP 3: START AT HOME & GO TO
POS 2
STEP 4: GO HOME
STEP 5: REPEAT THE PROCESS
178
MAIN PROGRAM
Sequence Function Instruction
No. Command / Value En ter Code
SUBROUTINE
BEGIN; Prog Number 12 (.;PGN. .12:)
1; SET VEL 10 (1;SVL .10:)
2; SET ACC /DEC 10 (2;SA/D. .10:)
3; CALL POS 2 (3;CPN. .2:) .
(d) Teach:
( i) Mode Select key to the TEACH position.
( ii) ENTER both Source Program starting with BEGIN.
(iii) SET and RECORD positions 1 (HOME), and 2 on
the subroutine program.
(e) Check:
( i) Mode SINGLE STEP
Select key to the position.
Press the
( ii) SINGLE STEP FWD Control to review
each instruction in sequence.
CAUTION: It is recommended that the JOG switch pushbut-
ton is operated each time it lights since the subroutine arm
motions are RELATIVE TO THE POINT OF DEPARTURE.
In this way avoiding obstructions or pegging the arm against a
mechanical stop can be assured.
(0 Operate the Program:
( i) Mode Select key to the AUTO RUN position.
( ii) Press JOG to move the Robot Arm HOME (position
1).
179
jump which bypasses the next instruction in the program
sequence when the condition of the specified input line is
"true."
When the SKIP Function Command is encountered, the
Control Unit will check the condition of the line specified by
the function value (1-32). If the line is "true," the next instruc-
tion in the programming sequence is skipped, consequently,
the one following the skipped instruction will be executed.
However, if the specified input line is "not true" the next
instruction will not be skipped.
EXAMPLE 8: Skip Sequence Number (Instruction Code
SKIP. .XX)
(a) Purpose: To move the robot arm from target A to target B
avoiding any obstacle and check target B for a part. If part
is in position pick-up and move to target A; if part is not in
UNTIL PART
position do subroutine IS IN POSITION,
THEN REPEAT THE PROCESS.
(b) Detail:
Identify the program number to be used.
STEP 1: INITIALIZE VELOCITY
180
target B. Therefore after returning from the subroutine call
the next instruction is to check for the part again, if it is not
there an immediate jump back to step 8 (Do subroutine)
instruction is executed. An immediate skip instruction is
coded by a Function Command SKIP SEQ NUMBER and a
function value of 1000 plus the program sequence number
desired. (Hence STEP 10 of the source program, SKIP 1008:)
(c) Source Program:
181
2
TARGET C IS
POSITION 2 OF
THE SUBROUTINE
Fig. 5-8. Versatran robot's arm motion when waiting for a part (courtesy PRAB
Versatran).
INSTRUCTION DETAIL
Main Program 9
182
"I
INSTRUCTION DETAIL
24 ; CPN 1: GO HOME
25 ; NPN 9: REPEAT
SUB ROUTINE 14
BEGIN ;PGN 14 ESTABLISH PROGRAM NUMBER
1 ; CPN 2: GO OVER SPRAY
IMMED
:D: 2 ; OCON. . . 3: ACTUATE SPRAY
3 ; TDL . . . 20: SET TIME
4 ; ILD . . .100: WAIT TIME
5 ;
OCOF. . . 3: STOP SPRAY
6 ; SKIP 2: YES CHECK FOR PART
7 ; SKIP. .1002: IMMED GO BACK TO ACTUATE SPRAY
YES 8 ; NPN 14: RETURN
Review Controls
The review controls are used to inspect each program
sequence instruction contained in memory. The SINGLE
STEP FWD and SINGLE STEP REVERSE Controls provide
a means of executing one instruction at a time or beginning
the program from a sequence other than the first instruction.
In this way, the operator can review and inspect the operation
of the program.
Single Step Forward. Once a program number has
been selected and the mode select switch is placed in the
SINGLE STEP position, pressing the SINGLE STEP FWD
Control executes the first instruction in the program se-
quence. At this time, the program teach panel indicators will
display the Program Number, Program Sequence, Function
Command, Function Value, and the Position Number. When a
new position is called, the JOG switch lamp will light. Press-
ing the JOG switch button will allow the robot arm to move
183
Table 5-2. Function Command Value Meaning.
FUNCTION
COMMAND VALUE MEANING
operator is sure the robot arm can reach the position being
184
~MM
afaWM "
called for without striking any objects the RUN PROGRAM
switch button can be pressed to move the robot arm to the
new position at program speeds.
CAUTION: Once the RUN PROGRAM switch is pressed in
the single stop mode, the robot arm will move directly to the
position. Releasing the RUN PROGRAM switch button will
not stop the motion of the arm. If under these conditions the
arm is about to strike an object, the EMERGENCY STOP
Control should be engaged.
Single Step Reverse. The Single Step Reverse Con-
trol isused to start a program from an instruction sequence
other than sequence one. This may be desirable in the event
an Emergency Shut down was required or power failure
occurred, while the program was partially through its cycle.
Starting the program from the sequence where the "stop"
occurred to complete the operation that was in process, can
be conducted as outlined in the following procedure.
Procedure:
( i) Place the Mode Select key in the SINGLE STEP posi-
tion.
dicator.
NOTE: It is recommended that the COMPLETE PROGRAM
THEN STOP Control is activated once the program begins
operating in this mode. Once the program stops, the Mode
Select key should then be placed in the AUTO RUN position
the JOG switch pressed and held until the robot arm is in
185
Editing Controls
Simple Programs/Problems
The following provides three (3) examples of programs
which use many of the instruction codes contained in the
Instruction Code List (Section E). Each program provides a
description of the task and an explanation of the program.
Following the examples are three sample problems
which can be used as an exercise for the reader. A solution to
186
these problems can be found at the end of the section. How-
ever, other solutions are possible and the reader is urged to
use imagination and ingenuity in solving the problem.
EXAMPLE 10.1:
(a) Task: To start at Home and move the robot arm to
location A. At location A, set the horizontal arm into a
stroking motion (back and forth) and repeat the stroke
five times. Then move the robot arm to location B passing
through Home and repeat the stroking motions of the
horizontal arm at location B, return the robot arm to
Home and repeat the process.
(b) This program calls for the same routine to be done at both
locations A and B. The stroking motion of the horizontal
arm can be put into a subroutine motion of the main
program. Since subroutine motion of the robot arm is
Main Program
BEGIN ;
PGN . . 10: REQUEST PROGRAM NUMBER
TO BE USED.
1; SVL. . .8: SET VELOCITY TO MEDIUM SPEED.
2; SAD. . .8: SET ACCELERATION TO MEDIUM RATE
3; CPN. . .2: MOVE THE ARM TO LOCATION A.
4; CSR. .11: GO DO PROGRAM NUMBER 11.
5; CPN. . .1: GO HOME.
6; CPN. . .3: MOVE TO LOCATION B.
7; CSR. .11: GO DO PROGRAM NUMBER 11.
8; CPN. . . 1: RETURN TO HOME.
9; NPN. .10: REPEAT THE PROCESS
Subroutine
BEGIN ; PGN. .11: REQUEST PROGRAM NUMBER
TO BE USED.
1; CSR 1005: SET COUNTER TO LIMIT 5.
CK: 2; CPN. . .2: MOVE ARM BACK.
3; CPN. . .1: MOVE ARM FORWARD
(RETURN HOME).
4; OCON .INCREMENT COUNTER
301
5; SKIP. 301: YES IS COUNTER AT LIMIT 5?
6; SKIP 1002: BACK JUMP BACK TO PROG SEQ 2.
YES: 7; NPN. .11: RETURN TO MAIN PROGRAM.
187
Program sequence 1 clears the counter (SET TO ZERO) and
establishes a limit of 5 counts. Sequence 2 and 3 provide the
single stroke motion. Sequence 4 adds one to the counter.
Sequence 5 asks if the counter has reached a count of 5. If it
188
Main P rogram
SKIP NEXT.
20 NPN. .20: REPEAT FOR 10 MORE PARTS.
YES 3: 21 OCON. .3: SOUND ALARM.
Subrouti ne (Good Pari DUMP)
BEGIN PGN. .22: REQUEST PROGRAM NUMBER
TO BE USED.
CPN. MOVE TO LOCATION C (GOOD
DUMP).
OCOF. RELEASE PART.
CPN. .
RETURN HOME.
NPN. RETURN TO MAIN PROGRAM.
Subroutine (Bad Part Dump)
BEGIN PGN. .23: REQUEST PROGRAM NUMBER
TO BE USED.
1
CPN. . .2: GO TO BAD PART DUMP.
2 OCOF. .1: RELEASTPART.
3 CPN. . . 1: RETURN HOME.
4 OCON . 302: INCREMENT COUNTER 2
(BAD PART).
NPN. .22: RETURN TO MAIN PROGRAM
189
(b) Source Program: DETAIL
and the tasks may be varied a great deal from the illustrations
used herein. Also, it is possible to use one computer to
control many robots on an assembly line, or to integrate the
actions of many robots to accomplish whatever jobs are de-
sired.
190
©0
Robot "Hands"
and Arm Kinematics ^fj^
We assume that a robot has at least one arm which can move,
and that the robot can turn to any desired azimuth to perform
the task which we have programmed into it. In the types of
industrial robots we have considered so far, one arm per
machine has seemed to be standard. Of course we are consid-
ering that a second arm, not attached to the robot itself, but
controlled by the same master controller and synchronized
with the movement of the main arm is a distinct possibility.
However, in this chapter, we will deal with the "hand" or
manipulator of just a single arm.
191
that have just two of these if it is actually necessary that it
it
192
Now we consider the elbow joint. It could be important
have a dual capability, or triple capability. It
that this joint
should permit the forearm to lengthen and contract, it should
permit up and down motion, and it should permit a rotary
motion so that the "up and down" movement can be at any
angle.
The robot, to have maximum manipulator movement,
needs maximum flexibility of arm movement. If a robot is
designed in such a way that it is to accomplish tasks which are
not envisioned at the time of design, then a maximum capabil-
ity of design has a better chance or permitting the robot to do
may mean less down time and certainly less cost. Thus one
encounters, again, the concept of cost effectiveness of a robot
doing one or two or a few tasks versus the completely flexible
robot.
The wrist of the robot certainly needs a rotary capability,
and an up and down capability. It probably does not need the
extension capability of the other two arm elements. The wrist
of the robot iswhere the gripper will be attached, and that
device what will enable the robot to do useful work. To do
is
useful work the robot must have the right tool in the right
place at the right time and manipulate that tool in the right
manner for the required time to accomplish the task.
The human wrist has a good movement up and down and
a somewhat limited movement sideways, but it can also be
rotated, when considering the play of bones and muscles from
the elbow joint down to the hand. If you examine your own
hand's movement you'll find that the wrist rotates about 180
degrees only, but the hand can be rotated this much when bent
down or up, or even, to some extent, when it is bent sideways.
It is not the elbow which permits the rotary movement of the
wrist, but the forearm bones and muscles, and the elbow
doesn't cause any arm rotation at all, but we might want this in
a robot. It is easier to design the joint which has both translat-
193
ory movement and angular movement, then to try to exactly
duplicate the bone structure of the human forearm. Re-
member, what we will be looking for in the final design, is
movement of a hand or gripper through those necessary
points in space required for accomplishment of whatever task
we have assigned to that robot.
Finally, we come to the hand or gripper. Now we need to
make some slight distinction. If we call the end appendage a
194
BEND AXIS
(JOINT) 3
(JOINT) BEND AXIS 2
BEND 1 BASE OF
AXIS 1
\r\ HAND UNIT
^7^7 1
\OTHER FINGERS
: ^Z*J\J /ATTACH HERE
rEEE?
^^.h^^^^^ci
FINGER ^
NVBs^\/ \ A
PULL-PUSH
\\
TO CONNECT B
ROD puLL-PUSH ROD
TO PUSH-RODS
FINGER UNDERSURFACE
ISCOATED WITH NON SLIP
MATERIAL HAVING SOME
"GIVE"
Fig. 6-1. Making a metal finger close and open using push rods.
195
In section A we see a representation of an inward-
outward type of movement such as might be gained from the
use of a hydraulic or pneumatic piston. If we want to show that
a robot's arm extends and contracts, schematically, we might
use this symbol.
In section B we show rotation about a vertical axis. This
movement can be called a one degree of freedom, even though
we can readily see that the axle and pivot arrangement will
permit the mass to rotate in either direction about that verti-
cal axis. Perhaps then, we can define degree of freedom as a
movement about or along a single axis. If we have a robot arm
with five degrees offreedom, we would expect the sections of
the arm to have at least five hinge joints, or thrust joints such
as at A or B.
In C of Fig. 6-2 we see an arrangement which describes
two degrees of freedom. Notice that the mass (M) can move
around a horizontal axis or a vertical axis or both. In D we
show a schematic of a free gyroscope which has three degrees
of freedom. If we want to use our schematic representation to
show this configuration, we do so as at E.
When the kinematic or dynamic situation of a robot's arm
is being considered, it is nice to use such diagrams, adding
one to another so that the entire picture may be obtained. The
mass as shown does not represent the load which the arm may
be moving, it can represent the inertia of the arm itself. That
is a considerable problem in dynamics because the inertia of
196
E
&
E
CO
\\\\\\\
o
vwvww lu
if)
u_
O
197
It has been pointed out that the determination of the
required number of degrees of freedom of any robot arm will
be governed by the application of that robot and the conditions
under which it must operate. Recall how the Prab robot
overcame an obstacle in its arm trajectory? If we consider a
robot doing a painting job inside a car body, in order to paint
the interior thoroughly, getting the arm through a body open-
ing and bending the hand around to spray the interior, might
indeed require more than a few degrees of freedom. A Gen-
eral Motors painting robot has sensory capability to detect a
car body entering its world, spray it carefully, and using a
second hand open the door so the painting arm can get through
to spray the interior! Coordination of the arms and hands is, of
course, computer controlled. This robot uses both magnetic
and optical sensors in its operation.
From what we have considered with respect to the arm
of a robot, we now have a clear concept of the two things that
happen. First the arm moves the end device into the required
position in three dimensional space. Then the end device is
actuated by signals from one or more sensors. When it has
completed its task— determined by other sensors— it moves
back to the starting position. Meantime the arm may have
changed its spatial orientation as a function of time or its
program sensing progress detectors, so that an entire job may
be accomplished.
We need to mention two other types of end devices. The
first is the sucker, which can hold onto various parts simply by
198
BASE
^ 12
jr 3FINGER
GRIPPER
199
slipping into a disoriented position in the hand. It could be that
several microswitches each requiring a slightly higher force
to close, might be used to sense the gripping forces applied.
200
even though it becomes less cost effective for the smaller
application.
When a designer considers the arm itself and its kinema-
tics he want to consider several factors. One of these is
will
that the change in the angular orientation of the end device
when it is at some specified point in its work zone, must not
involve significant movements of the arm elements which are
located some distance away from the end device. One brings
thisdown to an earthy level by saying that when a human
wants to grasp a pencil, he moves his fingers, not his shoulder
muscles. The designer considers the distribution of the
necessary number of degrees of freedom when the total
number of freedom degrees is a constant. If the cost effec-
tiveness requires that you can have only four degrees of
freedom, where should they be located?
So we find that in order to maintain the necessary man-
euverability of a robot's arm seven to nine or more degrees of
freedom might be required on some tasks. You don't have to
play around with mathematic or proofs to show this, just
layout the work area and draw the kinematics required for the
tasks.
201
elements of the arm near a joint. But because you don't get
much leverage, this is suitable only when the arm is not
required to heavy loads. We must also consider that type
lift
of drive where the powering units are all located near the
shoulder joint and use other means of transmission of power
from the drive sections to the elements of the arm. In some
applications this may be a good way to power the elements so
that the weight of the drive units are not on the arm itself, and
thus the weight lifting capability vs the weight of the arm ratio
might be increased. Finally, we must consider the third alter-
native, which is that there be a combination of element-drives
and remote-drives for the operating machinery.
The three types of drives used are the electric, the
hydraulic, and the pneumatic. Each has some particular ad-
vantages when used in robotics applications. The pneumatic
and hydraulic systems require pumps at some remote loca-
tion, with only the hoses going to the machine. Control can
only be precise using sensors, however, load capability is
excellent. Electric motors are another matter.
The electric motors are easily powered and may be
designed for low inertia. Thus they are capable of excellent
acceleration, deacceleration, and velocity control, but they
are heavy for the amount of horsepower produced. They have
excellent reliability records. In the past there have been
some machine operations using electric motors working at
constant speeds, using various types of speed reduction units,
which may be controlled electronically, and also using
clutches to transmit the power from the drive unit to the
various elements. Clutches can engage and disengage quickly
and have, in the past, offered quite high reliability in such
applications. It is possible that for certain robotic applications
in the future, some systems or even parts of systems, may use
clutches and electric motors as a part of their powering
system.
Without clutches it is necessary to use stepping motors
202
needs to be used, on the grippers to turn this step movement
into a smooth precise movement of the end device.
Finally, we should not overlook the use of such items as a
powered selsyn type of transmission and powering system for
certain robotic applications. These may have either a physical
or electrical input and can be very precisely controlled even
though their physical power output is very low. They might
be used in conjunction with other types of powering units and
so give the smoothness and precision and power required for
many applications.
203
CD
C
CO
o Q_
o
CO
O
2
X 13
03
o
E o
<
Q)
-C
d
h" o
O
<-
«f "5
CD - —
c Q.
03
d) O
iltLO
204
205
c
c/)
3
-Q
9
i
Ct!
0)
Q.
O
O
-D
O
3 > tr
< m<
206
In Fig. 6-7 the layout of the Armax robot is shown and its
operation is indicated for a parts handling job. This job con-
sists of handling a part which must be deburred and then
placed in a different location. This is a programmed robot.
That means that its actions are controlled by pegs in a drum
which close various switches causing the various operations
to be performed. We look at note 1. The spacer grippers open,
the arm extends the grippers close and the arm retracts with
the item and turns clockwise. In position 2 the arm extends,
the machine opens up, the grippers open and release the part
to the machine. The arm holds still while the de-burring
procedure takes place, then the gripper closes and the arm
retracts again and the robot arm is ready to rotate clockwise.
In 3 the robot arm rotates into the position indicated and some
tooling grips the part and the robot arm is ready to rotate
clockwise. In 4 the robotarm rotates into the position shown,
thearm extends and the tooling ungrips the parts. Now the
arm retracts and the arm rotates counterclockwise to start at
position 1 again. Notice that a gravity feed is used on the
parts,and also that the parts are fed by a mechanical escape-
ment which is operated as the arm rotates. This is necessary
because control is not accurate enough to pick up and pre-
cisely orient small parts with a hydraulic robot.
Figure 6-8 illustrates the positions the arm takes when it
is usedin a machine load/unloading operation. Notice the
legend which uses a letter P for pick-up, and the letter D for
deposit of the part at the point indicated by the numbered
arrow. Now, let us take a look at hydraulic drive and control.
207
o
CL
tr
<
co
tn
o <j)
O
0-
n (X
§
o
n
in
o as *o
m5O5m
OioirO
CC < H < cc
u
cc
l. X
z
a
LU Q 2
LU
5
LU z 2
LU
LL
n
<
Uo
CO 2 5
rr g
LU
3
UJ u
Q to
2 Z <
LU LU O cc
LU 5 o
UJ 7
>
< <
cc O
cc CD c
O CO
LU O
tr n re
o to8 £ cc
CO
tf
ra
Q.
208
><
z U
3 J?
ii!
£OO
Q =J Z
oc i E < _
o5o
cc tr cr
£*£
2
o zO
I X OOK
M«<QOWQ.Q
13
11
< O cr <
cc < cr
5 6
V
1 03
s* a.
Q.
1-w £-"
Z I oUi
25
< J
>*- V
GO
1
6)
209
^>, §»-
o> to
<D ~
.c s> «
03
g.
CO CD "o
.
W CO
._ CO o
CO
CO
O
LT
5 5
^ £<o
i OC CO LL
lij rr "-
QZO
luPlu
!D >- **
LU O LL whir
9<o co> >
LL tb LU
£ DC °-
£<o
SF^ -J
°-CD LI
II II II II II II
5
I
s <
x o
CO II
Is<
I-
h-
*
M
!
o o
II II
s o
210
re to
E E •
re a> "O
tow g
_* O) Q.
o .E w
glfc
• »-
CO CD 3
DJ O
Q..2
o
-1 z
i
f<o:Q
GC O t _
Q |r co
>- O o
cy
""
_i
Oil
ISO.*
•
OF
ICIENT
+ TY
CO
GRAVI
COEFF
H
.1
o
*,
VOLUME LEAKAGE
SECONDS
SPECIFIC
OT
CO =
_J i ^ = = =
<
z > _i co s
CO LU
z 3
o o
QC
(-
<
<0
1
E ££
z -no
LU <
O
X —
/V Q
CO _i
i
o <
)* O
o
oa
\/\j
(
x^y > O
E
m
I—
<
cr
>—2 •""
+
DC
o
cr
DC
LU
~P-I
a
co ^u
ar
* + o
Z LU
i i
II S3
o< LU
CO >
\\1l- / & O
=J
° Y /
o n /
X
1-
^
t
A/
/v ^
i
F
co
Z 0_ °^ w
05
O<
v_J
211
valve into the piston. We note that the rate-of-change of the
piston shaft position (y) turns out to be some constant times
the transfer valve shaft displacement (x).
212
CO
E
c 0)
© en
0)
CO
3=
T3 C
o
q3 T^
D Q
O O
nr CO3
8 o
CO
o
»~
r
'
1
o
CD
To
cr>
rr
LL 8
CO
3
_l
1- 3
Z Q
LU O
Cl|~ O 2
•ol^ [I ^
LL _l
LU 3
>|oa O cd
O Q
+ £
O 5
_J
Lp(t)
LEAKA ULICF
+ VA/
Q_
< 4 LU < '«
> \ < >
V* s < > X
s
s.
LU
o O
II
—
II II
oa. oa.
II
Q s-
cc
O
i
s -
LL
—i
^
\ (t)
ULIC
k $+-£
„ o
I
LU
LOCITY
<
t
ICTION
s(y)
w ^LU
ll cc
LL >
+ X FLOW ESSUR
LUME
CTION
EA SS
O LU
O CC <
3
<
5SSn:
^
«;
o
CO LU
CO
^
O
CC
CL > < 2 CC
LL
>
> \< ~co«-<0
2 ^<
X O
II
CL
II II
>< 2
II II II
LL
213
system. Air is obtained from the atmophere and compressed
into pressurized tanks.
In pneumatic systems one uses air under pressure to
operate pistons, and also one may use the suction. This may
be used to provide power to suckers which might be placed on
grippers to hold certain types of packages or objects, or to
attract them into the gripper jaws.
Although air is light weight and easily available, it poses
some problems in that any contaminants in the system, even
moisture, can cause trouble with system parts such as valves
and tightly sealed pistons. But when its application fits a
particular need, then it is used to quite a large advantage. On
214
Design
Gripper Module
# hydraulic /
Execution
Gripper Module
hydraulic /
Gripper Module
spring-actuated /
parallel gripping motion
(internal)
Gripper Module
spring-actuated /
parallel gripping motion
(external);
fitted with
workpiece-adapted
jaw inserts
215
when high speed of operationis required. For handling cer-
216
be moved by command signals which originate either from a
timing and sequence drum which closes switches at various
times, or from a computer which draws upon its memory for
the movement commands. The difference is that the com-
puter may have solved some equations as part of its own
intelligent operation, it directly commands the movements
and speed of the arm, and it analyzes the feedback to make
adjustments. The program drum— which was set and pat-
terned by us— could only move the arm one way, at one speed
to get to its final position.
PATCHBOARD
12 3 4 5
O • O O O I
ARM ROTATE
O O O • O
O O O • O /
ARM EXTEND
O • O O O |
• O O O O \
GRIPPER
O O O O O \
o o o • o \
STOP o o • o o \
HOPPER 1
FINGER CONTACTS
HOPPER 2
217
Plugs go into the patchboard where the dark dots are. As
a rotary switch makes contact with the plugs at each step, the
corresponding joints are activated. The actions are stopped
by mechanical stops or sensors attached directly to the arm.
This board will open the grippers, dropping an item into
hopper 1, then pull in its arm as it rotates to the left.
218
system and the closed loop system. It is common to find the
following definitions used with regard to these systems:
219
C/) «
oo° .
w — TR
0)
O m w
en E »
CD O -o
.s>|8
u. > o
©| —
Slifl
,_
t-
3
3 ~ _
w
© -
3 1
0-
O H
CO 3 a5 CO
O
I (3
II
UJ
<
6
o £ CD
w < 2
CD cd
Q * CD
c3 LU
UJ
o g &
_
1-
z
LL +
? X 3
CO oc t- ,_• CO eg
CD tr 1 '
z
a.
o
o
cd
6^
Q. LU
c5
a.
o
UJ
O
o
•5 "
0.
_J
z
II
O c|
co z
z _i
2 o
111 i
i
o Q i k
UJ
o
Z o 8 ° 3
< z _i
rrUJ
3 O
u.
< CC
1 CC UJ
LL
%^
^^ o
LU
,_
A 157
500 z
V M\Xv°°
J CD
i / \
CO
z
<
^^z< CC
<
/ Q- \ cr CD^-. / J—
/ 2 \ i-
§£ / O
0.
//
/ \ a_ \
\ o co
O
i
-*
o Q
i"k i i
i
_J Q
z UJ
CO
LU
0. O
O _i
o
Q
z
<
St-
rY
V
\. /
/ *
\ :
8| 3 o
Up
< 0.
2 z a.
5
o -
O LU
220
ous stepping motors at a proper time so they will operate
correctly and without mutual interference. This machine can
also do useful work, accomplishing jobs suited into this sort of
mindless type operation. The advantages of this type system
are simplicity and low cost, because no feedback is needed,
221
222
too, will move until the command signal is reduced below
some operating threshold value— when the error is so small
the servo sees no signal. Finally, the third servo is activated
in a likemanner and it moves until its input command is
223
-( B.F.(S)>4-
SHOULDER
AiFuS) >*-
-( B2F2(S) )«-
K2G2(S) FOREARM
-( A?F;(S)
SENSORS AMPLIFIERS
-( B3F 3 (S) )« ,
/ X / l^\l
(CJ
-/5V-
^/y
K 3 G3(S) WRIST-HAND /
-T
1
A3F 3 (S)
\\
'Kb TO THE
COMPUTER
( )
was found that the human hand is just too complex for such
224
duplication in the first place, and in the second place, it really
necessary to exactly and completely duplicate the human
isn't
225
In a human hand
the joints use sliding surfaces which, in
part, are deformed during the motion of the joint. Also the
human hand has very complicated gliding joints which are
continuously lubricated with the joint fluid and have an excep-
tional safety system which prevents joint damage. The safety
system consists of force and pressure sensors. The man-
ipulating force per finger of the human hand is somewhere
around 3.5 to 5 kg and is about 25 kg for all fingers working as
a unit. It would be difficult to duplicate this variable capability
by machine. With the pincers or gripper type hand one can
design for large forces, up to 10 times the force of the human
hand, and this type design has become very practical. The
mechanical hand can operate at a faster velocity and accelera-
tion than the human hand, and does not tire when moving at a
fast pace. Also the wear on the mechanical parts is very small
even when doing a fast task and exerting considerable forces
in the task.
The mechanical hand may, or may not have environmen-
tal beams of light, generated within the grip
sensors. Infrared
of a mechanical hand could permit the hand to sense the
proximity of objects it is trying to pick up. The human hand
has many more sensors. has a cold and hot sensor, feel
It
226
conscious of the final process which is to feel the object. They
are no longer conscious of the individual motions which lead
to the final result. This is all programmed by means of a
lengthy learning process. Small children learn to grasp ob-
jects with their hands and do from
this at various distances
their bodies. They learn how to manipulate their hands and
arms and wrists for round, thin, long, short, and fat objects.
When this learning phase is over, they have a fixed program in
their nervous systems or in their brains for the control of the
various motion elements which make possible the manipula-
tions required, and in such a manner that certain motion
chains will automatically occur in a fixed sequence or desired
sequence, and in synchronization with other parts of the
human system.
The total robotic manipulation process is first decom-
posed into signals in a first, upper level. These signals deter-
mine which elements should be activated. The individual
motion elements themselves are then activated in a second
logical process. The final manipulation is produced by means
of an additional synchronization control system governed by
the adjustment of the pressure forces and the manipulation of
these forces among the various body elements. The organiza-
tion of such subordinate functions are autonomous, but influ-
ence each other in an adaptive control system manner. This is
called hierarchically organized information processing. Much
of the "feedback" information in robots is accomplished with
analog circuits whose signals are then digitized for computer
processing as we know.
227
their lines. The feedback to the input is, of course, the output
shaft or element's position.
We define a transfer function as the ratio between output
and input. The abbreviation for the transfer function is T.F. as
shown in the illustration.
By being able to write a mathematical expression which
tells us what happens to the voltages, currents, or physical
228
1-
Z)
Q_
F
3
o
, ,
CO
CO
o
£
hlT
i
A
IV
(\
i
V_^ V
+
co
o
i
2
eg
CD
LL 2
CD
w 3
o
C\J
\\ / co
+
2 o
CO
CM
LL
CM
o i
cB
3
6 2
£ +
CO
LL
/ A\\ // / \
»
<
CO
v^ w o
vV
1
/\
y £
s^
v
+ i
+
h- LL
CO D r-
Q.
6 K Q.
O
* D
o o
LL
O Q
i L LU
z C/)
o o
_l
1-
co
o
O LU
X
<?\; 1-
k \-
D
Q.
Z
r
229
then look at it, computer for solution and see
and put it in a
that application. There can, and will be, in the normal course
of events, many feedbacks in a robotics system and all these
are necessary.
230
®
b^S
-o
Y 3
o +
< CD
m <
D
LU ||
III
LL ©
Q.
LL
+
o
^vvv -AAAr
231
oscillatory tendencies. When everything is finely adjusted so
itdoes operate as it should, there will be no error in output
but if there is any slight change to voltages in the system it
might throw the balance off and cause some problems. Inte-
gral control is a delicate type of servomechanism, but it
exists.
232
Design Features
TYPICAL ELECTRO-HYDRAULIC SERVOVALVE
SCHEMATIC DIAGRAM
-SUPPORT TUBE
• ELECTRICAL CONNECTOR
9 CYCLES
-DEFLECTION TUBE-DESIGNED FOR A MINIMUM OF 10
- ENO CAP
"
CONTROL SHAFT ANO TORQUE MOTOR OUTPUT YOKE
YOKE CAVITY
233
Notice the tolerance lines, dotted on each side of the solid
reference line. By taking the span between the tolerance
lines, in the vertical direction (y axis), one can obtain the
increment by which a percentage of the load flow may be
calculated. The illustration shows a 10 percent rated flow.
Also a projection on the X axis will give the percent of rated
current. Both English and Metric units can be used to de-
scribe flow and other important dimensions as illustrated.
Finally, we want
examine two actual, commercial
to
servodriver units from Dynamic Valve Co. These are the
electronic parts of a servosystem which operate the ser-
vovalve previously shown. In Fig. 6-21 A we see a schematic
for a velocity servodriver, and we note that it has an integral
control element in the forward gain loop. There is a control
there called the integrator sensitivity control and this can be
adjusted to obtain the desired effect on the servo perfor-
mance.
If we moment the effect of an error in a
consider for a
servosystem in which velocity of movement is important, and
is an input specified quantity, we will realize that an error in
234
NORMAL INPUT & OUTPUT
CONTROL TOLERANCE - typical for all valves
Flow Tolerance Chart for all Standard and High Frequency Servovalves
MORMAL FLOW
TOLERANCES
10% RATED FLOW
100 20 40 60 80 100
20 % RATED
CURRENT
UNITS
Recommended English and Metric ISII units for expressing servovalve pcrfor
235
O LU
LU <
(A >
xO
LUO
< 0^2
2 OW
236
a
Q.
E
O LU
Q.
<
CD
cb
237
We should not conclude this chapter without mentioning
makes a transfer valve which has a
that Dyval, Inc. also
pneumatic element mounted on the hydraulic valve, and this
pneumatic element controls the hydraulic flow. In systems
where air pressure is used to control fluid flow, the system
has a combination of both power and speed. Recall that a
pneumatic system is said to be the fastest mechanical
system
because the air can be moved faster than oil, however, air is
compressible and so for power, without elasticity, one needs
the non-compressible hydraulic fluid as the power producing
element.
238
A Computer-
Operated Hobby Robot
239
Fig. 7-1 . Computer operation of the hobby-research robot arm is easy (courtesy
Microbot).
240
Fig. 7-2.A close view of the Mini-Mover 5, as the arm is called, and three of the
sixmotors used in its operation. Motors 1,3, and 5 are on the opposite side of the
arm in this view (courtesy Microbot).
SHOULDER JOINT
WRIST JOINT
X-AXIS
Fig. 7-3. The coordinate system for the robotic arm (courtesy Robotics Age).
241
Thus it might be easier to program the unit to move five units
right (X) and two units out (Y) and drop the gripper itself down
two units (Z) to engage some object.
We note that this arm's gripper has five degrees of
freedom because it is driven by a differential gear mechanism
which can rotate the gripper in both pitch and roll. Add this to
the motions of the body, shoulder, elbow, and wrist and you
have a sufficient number of degrees of freedom so that the arm
can be accurately positioned and the gripper positioned in a
partial sphere whose radius is 17.5 inches from the origin.
We have mentioned earlier in this book that in some
cases of robot design, one might use motors which drive
various elements through the use of cables or linkages. That
is the case with this robot arm, as shown in Fig. 7-4.
The drive motor for each joint consists of a stepping
motor, reduction gearing, and a cable drum. From each drum a
tensioned cable goes out over pulleys to the member being
driven and then may or may not return to the drum. Rotation
of this drum causes rotation of each member in proportion to
the diameter of the drive pulley attached to that member and
the drum's diameter. The movement of one joint on this arm
may result, therefore, in the motion of another joint, and this
may not be desirable. Here is how the designers of the
Mini-Mover 5 describe the cabling operation, which must be
understood if you are going to compensate for these unwanted
movements by properly programming the operation of the
arm:
"Base Rotation Qoint 1)— The base drive cable
passes over two idler pulleys, making a 90 degree bend,
to a drive pulley fixed to the base. The base drive motor
causes the entire arm to rotate about the base joint.
242
ELBOW DRIVE
PULLEY
SHOULDER DRIVE
PULLEY
(4),(5)
COMMON
DRIVE
SHAFT
BASE DRIVE
PULLEY
Fig. 7-4. The cable diagram for the Mini-Mover 5 robotic arm (courtesy Robotics
Age).
243
±90 degrees in pitch
to limits of the cable length and to
due to interference from the lower arm.
"Hand Qoint 6)— The hand drive cable passes over
idler pulleys located on the shoulder and elbow joints,
through the center of the wrist differential, and finally
terminates at the hand. This drive interacts with joint 3
(elbow) in that elbow bend will cause the hand to open
slightly.This can be compensated for by closing the
hand exactly the same number of steps that the elbow is
raised."
244
ihHHHHHHNHHHI
Fig. 7-5. The Mini-Mover 5 hand (courtesy of Microbot).
PITCH ROLL
AXIS AXIS
MOVEMENT
DEFINITION
SIDE VIEW
PITCH
ANGLE
END VIEW
ROLL
ANGLE
Fig. 7-6. Mini-Mover 5 hand gearing and cable arrangement to grippers (cour-
tesy Microbot).
245
1
S
o
8
I
o
h-
s
z t:
CO o X g
CO h- o
CL
(L CC in ^
OO h- CO
5
-Q
3
Ll
246
MOTOR
WINDING
/->
+ 12
°^
TO COMPUTER
<
>
M
.MOTOR
WINDING
Fig. 7-8. The transistor drivers for two stepper motors. Since each arm element
has a "forward and reverse" direction,when you step one motor, you must also
step the other to permit movement (courtesy Microbot).
247
TO WINDINGS DRIVERS
*1 <f>2 </>3 04
lu
1 1 C/)
LLI
o 1 £ Table 7-1. The Computer Code
C/5 1 1 o to Rotate the Stepper Motors off
£ 1 o
_l Fig. 7-8 (courtesy Microbot).
(J
1 1 o
cc
o
—I
1
o 1 1
z
1 3
o
\
f
o
one input to the data bus from the arm at port A. There is one
spare output (port B) since only six of the output ports are
needed for control of the six stepper motors used on the arm.
This output port might be used to control another motor if
desired. Also, notice that only one feedback line is used. This
is to return a signal from the tension or grip-switch of Fig. 7-7.
You could have three more feedbacks incorporated in this
system if desired, without increasing the size of the I/O port.
248
computer and consists of the five additional commands neces-
sary for complete control of the arm. The commands chosen
are:
• @STEP
• @CLOSE
1
1
ADDRESS
DECODER
PORTSTO
CONTROL
OF
MOTORS
DATA 4 SPARE
OUTPUT
>
BUS
h PORT (B)
^ ONE INPUT
DATA 4 •"USED ONLY
FROM
BUS FEEDBACK
SWITCH ON
TRI-STATE ARM PORT(A)
Fig. 7-9. The computer interface to the motor control circuits (courtesy Microbot).
249
• @SET
•©RESET
•@READ
Each of these commands is used as a BASIC statement, and
interpreted as a Z-80 machine code subroutine. Here is how
the designers explain the computer operation.
"The® STEP command causes each of the 6 stepper
motors to move simultaneously. The syntax of this command
will be:
250
An important function performed by the @ STEP com-
mand is to coordinate unequal motor commands linearly.
Thus if the base control motor is commanded to move X
number of steps and the shoulder motor is commanded to
move Y number of steps where Y<X there should be in such a
system an appropriate number of delays in the Y stepping
signal generation so that the timing of the Y steps will corre-
spond, in time, to the X number of steps. If this is so then the
arm movement is smooth and flowing, just as your arm
movement would be as you reach for a pencil. When the
number of steps for each section are accomplished in the
same time frame, then the end point segments of the arm will
reach their final positions simultaneously.
The @ CLOSE command which is the command which
causes the hand (or grippers) to close until the grip-switch is
@ SET (D)
This is a very simple syntax arrangement indeed. D is actu-
251
WRIST WRIST
BASE SHOULDER ELBOW PITCH ROLL GRIP
CW UP UP UP CW OPEN
\ \ \ \ \ \
1 2 3 4 5 6
Q V\ E R T Y
\\
CCW DOWN
\
DOWN
\
DOWN
\
CCW
\
CLOSE
Fig. 7-10. One keyboard control system for the robotic arm Mini-Mover 5 (cour-
tesy Microbot).
are held down. To stop the motion one simply releases the
keys.
By now you can imagine sitting down at a computer
keyboard and carefully depressing the appropriate keys to
cause a Microbot arm to move in the manner you desire. By
carefully choosing your key and the timing of its depression,
you can make the arm move over a block, extend down and
grip it, move back upward so it can turn with its load and move
it to a new location and carefully stack the blocks as shown in
Fig. 7-1.
It is important to note that as each command is executed,
the number of steps commanded for each motor in the arm are
counted and stored in a set of registers in RAM. On the video
display one can determine the commanded position of the
arm under either manual or computer control. There are two
commands which access these registers. They are the follow-
ing:
•©RESET
•@READ
The @ RESET command zeros the position registers and
stops all current to the motors, thus allowing you to physi-
move the arm to a new position. Any other command
cally
cancels@ RESET, and the position of the arm at that time
becomes the new home position.
252
The syntax of the @ READ command is:
253
END
M START
A • 1 Move Down to A • D
2. Close Grip
3. Move to B
4. Move to C
5. Move to D
6. Open Grip
7. Move to C
8. Move to B
254
keyboard as previously described under the @SET
command. Even the desired grip opening is conveyed by
teach control. Only the speed is entered numerically.
"After the arm is positioned at each of the four
locations, the values of the software position counters
are read by the @ READ command and stored in the
vectors A, B, C and D. The elements of these vectors,
A=(A1, A2, A3, A4, A5), B=(B1, B2, B3, B4, B5),
C=(C1, C2, C3, C4, C5), and D=(D1, D2, D3, D4, D5),
are the values of the position counters of each joint. The
P, Q, and R vectors of the simple program (Table 7-3)
can therefore, be obtained by subtraction as follows:
P=B- A, Q=C-B, R=D-C. The desired grip opening,
GR, measured by reading the grip position counter
is
255
Note that the object is gripped at a point 0.5 inches
above the table top (z=0) and is raised (or lowered) 1.0
inches for lift off (set down). Its x location is changed
from 8 to 6 inches and its y location changed from to 5
inches. The angular orientation of the gripper is always
straight down (pitch=-90 degrees), but the object is
rotated 90 degrees on its vertical axis between pickup
and set down (roll changes from to 90 degrees).
"Data for the Cartesian coordinate program is lo-
256
Table 7-3. The Mini-Mover 5 Teaching Program (Courtesy Microbot).
10 REM
20 REM
30 REM
40 REM
50 REM
60 REM
70 REM
80 REM
90 REM
100 ©RESET: REM ZERO COUNTERS
110 PRINT "PICK - AND - PLACE ROUTINE"
120 PRINT " USE MANUAL KEYS TO POSITION ARM"
130 INPUT "SPEED ="; S
140 PRINT "POSITION GRIPPER ON PART, TYPE WHEN DONE"
150 PRINT " ADJUST GRIP OPENING TO CLEAR PART"
160 @SET
170 @READ A1 ,A2,A3,A4,A5,C
180 ©CLOSE: REM CLOSE GRIPPER AND MEASURE PART
190 © READ A1 ,A2,A3,A4,A5,G0
200 G = GO - GC :REM GRIP SIZE OPEN LESS GRIP SIZE CLOSED
210 PRINT "POSITION PART ABOVE PICKUP SITE, TYPE WHEN DONE"
220 ©SET
230 ©READ B1 ,B2,B3,B4,B5
240 PRINT "POSITION PART ABOVE PLACEMENT SITE, TYPE WHEN DONE'
250 ©SET
260 ©READ C1 ,C2,C3,C4,C5
270 PRINT "POSITION PART AT PLACEMENT SITE, TYPE WHEN DONE"
280 ©SET
290 ©READ D1 ,D2,D3,D4,D5
300 REM
310 REM RELEASE PART AND RETURN TO B
320 REM
330 ©STEP S,0,0,0,0,0,G
340 ©STEP S, C1-D1, C2-D2, C3-D3 C4-D4, C5-D5
,
360 REM
370 REM WAIT UNTIL READY
380 REM
390 INPUT "TYPE G TO GO"; RS
400 IF RS = "G" THEN 410 ELSE 390
410 REM
420 REM RUN THE PICK - AND - PLACE PROGRAM
430 REM
1000 ©STEP S, A1-B1, A2-B2, A3-B3 A4-64, A5-B5
,
1010 ©CLOSE
1020 ©STEP S, B1-A1, B2-A2 B3-A3, B4-A4, B5-A5
1030 ©STEP S C2-B2, C3-B3, C4-B4, C5-B5
1040 ©STEP S D2-C2, D3-C3, D4-C4, D5-C5
1050 @ STEP S, 0,0,0,0,0,6
1060 @STEP S, C1-D1. C2-D2 C3-D3 C4-D4, C5-D5
1070 @STEP S, B1-C1 B2-C2, B3-C3, B4-C4, B5-C5
1080 GOTO 1000
1090 END
257
Table 7-4. A Cartesian Coordinate Program for Mini-Mover 5 (Courtesy Microbot).
10 REM
20 REM
30 REM MINI MOVER 5
40 REM
50 REr* CARTESIAN COORDINATE CONTROL
60 REM
70 REM PROGRAM
BO REM
90 REM
100 REM DEFINE ARM CONSTANTS
101 H=B.1 :REM SHOULDER HEIGHT ABOVE TABLE
102 L=7.0 :REM SHOULDER TO ELBOW AND ELBOW TO WRIST LENGTH
103 LL=3.5 :REM WRIST TO FINGERTIP LENGTH
104 REM
110 REM DEFINE OTHER CONSTANTS
111 PI=3. 14159
112 C=1 BO/PI :REM DEGREES IN 1 .00 RADIAN
113 R1=1 :REM FLAG FOR WORLD COORDINATES
114 REM
120 REM DEFINE ARM SCALE FACTORS
121 S1=937.B S2=S1 REM STEPS/RADIAN, JOINTS 1 & 2
122 S3=551 .4 REM STEPS/RADIAN, JOINT 3
123 54=203.7 S5=S4 REM STEPS/RADIAN, JOINTS 4 & 5
124 S6=618 REM STEPS/INCH, HAND
125 REM
130 REM INITIALIZATION
131 DIM UUI7.50) :REM ROOM FOR 50 MOVES
132 U=0
133 @RESET
134 REM
140 REM READ IN FIRST DATA LINE FOR INITIALIZATION
141 READ X.Y.Z.P.R GR.S
150 PRINT SET ARM TO THE FOLLOWING POSITION fi, ORIENTATION"
151 PRINT USING KEYBOARD, TYPE WHEN FINISHED"
152 PRINT X •INCHES"
153 PRINT Y 'INCHES"
154 PRINT Z 'INCHES"
155 PRINT PITCH •DEGREES"
156 PRINT ROLL •DEGREES"
157 PRINT HAND GR/S6; "INCHES'
170 @SET
200 GOSUB 5000 REM GET JOINT ANGLES FOR INITIALIZATION
210 REM W IS WHERE WE ARE AT
220 W1=INT(S1*T1 )
230 W2=INT(S2*T2)
240 W3=INT(S3*T3)
250 W4=INT(S4*T4)
260 W5=INT(S5*T5)
270 REM
300 REM READ IN NEXT POINT
308 READ X,Y,Z,P,R,GR,S
309 IF X < -100 GOTO 1000
310 PRINT "MOVE TO X Y ,Z .P ,R ,GR ,S
,
425 U=U+1
430 UU(1 ,U)=C1
431 UU(2,U)=-C2
258
432 UU(3,U)=C3
433 UU(4,U)=-C4
434 UU(5,U)=C5
450 UU(6,U)=GR
455 UU(7,U)=S
460 IF GR <0 GOTO 500
461 REM OPEN GRIP IF GR>0
470 @STEP S,0,0,0,0,0,GR
480 GOTO 300
490 REM CLOSE GRIP AND SQUEEZE IF GR <
500 ©CLOSE
520 @STEP 100,0,0,0,0,0,GR
530 GOTO 300
540 REM
1000 PRINT " RUN THE PROGRAM"
1010 FOR 1=2 TO U
1020 ©STEP UU(7,I) ,UU{1 ,1] ,UU(2,I) ,UU(3,I),UU(4,I] ,UU(5,i:
1030 IF UU(6,I)<0 GOTO 1060
1040 @STEP UU(7,I) ,0,0,0,0,0,UU(6,I)
1050 GOTO 1100
1060 @CL0SF
10B0@STEP 100, 0,0,0, 0,0, UU(6, 1)
1100 NEXT I
1110 GOTO 1010
2000 END
2010 REM
5000 REM SUBROUTINE TO CALCULATE JOINT COORDINATES
5010 REM ENTER WITH X,Y ,Z .PITCH .ROLL AND R1
,
259
fore, a reinitialization is necessary if the arm is unable to
successfully perform a movement due to overloading of
collision. The use open loop control by stepper
of
motors eliminates the need for joint position sensors
and associated interface circuitry and is thus an impor-
tant design tradeoff that reduces the cost of the arm
while still providing accurate positioning.
"During the second phase of the program, state-
ments 300-530, the arm is moved from data point to data
point as the solutions are carried out. An arm solution
takes less than one second. The joint angles correspond-
ing to each data point are stored in array UU. After all
the solutions are obtained, control is transferred to the
third phase, beginning at statement 1000, where the
pick-and-place cycle is run repeatedly without coordi-
nate conversions by using the joint angles in UU.
"Those who analyze the Cartesian coordinate pro-
gram carefully will note that it is, in fact, general pur-
pose, capable of generating arbitrary motion trajectories
with up to 50 movements. This is sufficient for many
assembly tasks such as building structures from blocks.
The power of the ARMBASIC approach can be seen by
comparing the simplicity of this program, which is less
than 100 lines of code, with previous approaches which
have required 8K or more of assembly language coding
to do the same type of task."
260
Another problem of machines of Mini-Mover 5 design
may be the physical control cabling because it has, by virtue of
its type, some play and elasticity which becomes more pro-
261
Loss can be due to actual signal disintegration or to
distortion to such an extent that the robot cannot tell that it is
262
that data and sees to it that everything works as it should, for
as long as it should, in the proper sequence, and with the
proper timing. The computer coordinates various machines
and perhaps other robots in doing a job so, the computer must
get feedback from each robot.
Think of the amount of information a complex operation
must have moving over a communications system! This in-
formation must not be distorted or modified or lost in the
process, and it must be very visible to the computer in
whatever noise levels may be present in that communications
system.
We are constantly amazed at the human capability to
distinguish desired information in an environment of unde-
sired information. For example, three persons may talk at the
same time and you want to follow the intelligence of just one
discussion. The human mind, once given the command to
listen to Joe, turns its attention to what Joe is saying, exclud-
ing the other voices as far as interpreting intelligence from
them. The head turns to give Joe's voice the best reception
and to minimize the reception of the other voices. The mind
then instantly develops a pattern of information based on
snatches of words which it recognizes clearly. The mind will
actually fill words and phrases and sentences which are
in
incomplete due to competing noises or distortions. If the
mind gets lost, it commands the tongue to activate and ask
"What? What did you say?"
So it is with robotic communication systems. By using
the binary code and making words out of the infinite number of
patterns of these symbols, sounds, or signals (in which-ever
form they may appear), one might loose some elements and
still not lose the message. That is a required and desired level
263
intelligence pattern of the phase, the first zero has got to be a
one. It makes a one out of that space and the word has meaning
in its phraseology. Everything continues in a fashion.
With humans, the loss of letters— say with a Morse code
message— can easily be filled to make sense. Suppose you
receive the following; Th an was tall. You supply the
missing letters to get 'The man was tall."
264
absence of the tone will mean switch open and a cessation of
that functional operation.
It is also understood that to convey a changing bit of
information, such as we might need in a robotics application,
that we cannot have just an off-on type of signal. The feedback
from sensors must be such that they can be varied in some
way to produce information about slight changes in position,
or values of the object being sensed.
The tone transmission system can vary the pitch of the
tone slightly around some nominal value, and a slight change
can convey the information we desire to be sent to the com-
puter decoding section. The decoder must then change a
variable pitch, or tone, into some kind of machine signal such
as off-on pulses which the computer can then use to do its
assessment and evaluation and computation with.
So, we are now looking at bands in the tone spectrum
over which signals might be varied to convey changing infor-
mation. These bands all might be sent simultaneously and so
we then ask ourselves if there is a limit as to how much
information we might send simultaneously. We can reduce
the band widths by going to higher and higher tone or signal
frequencies. We find that there is a limit to how many tones
we can transmit simultaneously and still recover the desired
information. Scientists who have studied this problem esti-
mate that eight audio channels is about the limit each channel
getting only 12% of the available 100% modulation capability
of the transmitting system.
Think of what this means. If we are dealing with a single
robot, which has many feedback functions, and
self contained
some kind computing and directing system, eight
of internal
feedback channels to some outside and coordinating might be
sufficient. But if that computer is directing many robots, and
needs a lot of information from each to properly effect that
coordination, then eight channels is certainly limiting! So we
look at Time Division Multiplexing.
It seems right away some advantages. One
that this has
particular advantage is that each channel can get the full 100%
modulation since it is singly transmitted. When the informa-
265
tionfrom one channel has been sent, then the second chan-
nel's information is sent, and so on. If we can send the
information fast enough, we can send lots of channels, each
getting the full operational capability of the transmitting sys-
tem, and, as far as the practical operation of the robotics
system is concerned, if the information is sent fast enough, it
won't even know that it is getting its data in spurts.
In a way, a computer already operates with this concept
of time division multiplexing, for it has common busses which
are time allocated to various signals by a timing clock. Thus
we begin to look at robots as just another I/O peripheral. If we
want to go one step further, we can imagine a combination
system, using time division multiplexing and frequency divi-
sion multiplexing over a common carrier which should enable
us to get all the information needed from one point to another
to make remote operation of robots very practical.
266
up computer words. The diagram does not reflect accurately,
the number of channels being transmitted. If, for example, we
use a five bit word for commands and feedback, we would
have only one channel of communication. We have to define a
channel as being the route to a single operating unit. Thus in
the case being discussed we would have only one channel,
which might mean control of one one robot. We could imag-
ine that we would send many sequential lists of five bit code
groups and thus, using time multiplexing, control many
robots in this manner.
If we restrict ourselves to the width-per-pulse as a
we find that five pulses represent
channel, as illustrated, then
five channels as shown. The width variation might be inter-
preted as ones and zeros as we have stated, or by varying the
width in a sinusoidal manner we could recover tones and tone
variations which could represent variables in the system. The
manner of varying the width of a pulse, such as illustrated, is
left own imagination and requirements, one
entirely to your
might recover saw-tooth or square-wave or exponential
waveforms from the varying tonal modulation. This tone
modulation or variation might be a real variable on a rf carrier,
frequency.
There is a difficulty. If we lose a pulse we have lost a
channel. If the system, somehow, is able to cause pulse
existence shortening or lengthening, we have spurious in-
formation being generated. If rf is used as the carrier, it may
take some bandwidths to accommodate the variation in
pulses. However, on the good side of the situation, this
system has been used successfully in commercial applica-
tions and in hobby applications where it is used to control
radio-controlled model aircraft. It is relatively easy to design
a decoder to separate wide pulses and narrow pulses.
In the second possibility the pulses all have the same
width and are all transmitted sequentially. It is the relative
position of each pulse with respect to a starting time for the
"train" which governs its information carrying content. As
shown, we assume that when no information is being trans-
mitted, each pulse has a definite existence time, following
267
CM
3
Q
ID O
Q
h O z
XV
'As,
I LU
<t O co
CO cs
hX
^t>r=r CO
h\ fy %V
'Xv Q_ DC
%%
7
%v, ^o
%^
<»
V ^ %,ny-
«
7
*o %,^k
'A
% *fc
^0[
*o
H3NNVH0 r-
«« h
UJ
Q Q
D
o LicL
O
>< X
268
CM
CO
CO
O
^8
O
CO
CO
O
LU
o So CO
z CO Q.
LU ft
CO Z O
Q_ C\J
w
§
LU
c
£? 0)
E
LU
c
o
1
?
E
©
V)
+ J= .£ I
Q.
O
CVJ
6)
269
some type of input starting clock signal. Since each pulse can
be varied about this nominal existence time, being either
early or late one can relate these positions to coded data.
Early being one, late being zero. With robots such signals can
also mean up arm, down arm, and neutral arm position.
This is the system of transmitting command and control
signals used with the GARCAN robot discussed previously in
this book. It is a simple and reliable and well understood
method of sending commands. It can be used for both off-on
functions and proportional functions.
The code shown in C can be a direct representation of the
binary words used in computers. One simply has to have
enough pulses to match the computing system used; i.e., an 8
bit system needs 8 pulses, but one might have 12 or 16 or 32
or even 64 pulses if that kind of accuracy is needed. If the
pulses are microsecond or fractional microsecond existence
units, and are separated in time by fractions of a microsecond,
it would not take long to send a 16 or 32 pulse word or train of
270
always have one or the other tone being received, any ab-
sence of tone means an error which the computer can recog-
nize. As we know, this system has been found to be highly
accurate and reliable in the transmission of messages. It
271
0.1 to 0.001%! Of course we would like absolute accuracy;
zero percent error if possible. But due to system limitations
272
A A
°
fg*
+1
|8*
oc QC cc
o O O
H 1-
< b
<
< z z
z
2 2 ^
cc cc cc
o o o
00 00 00
a Q Q
i
>o
< t"< 1
<
D OO ~
Z 05 Q_ CL CL
<<m
CD CL £ CO CD
i k i i
t
i
—
LL
"
CC
>
o
cc
-
_f
4
,—
J
cc
o
cc
J-
b
<
gai-1
x Q
o
2
i i
oc DC cc
O O o
en 00 00
z LU z z
LU _l LU LU
00 CD -r 00 d 00
q
<o O o^
CC LU
o LL LL
< CC CO
> > >
>ilOc
273
which are proportional to the instantaneous position, strain,
or velocity of the sensed unit, and then sent to analog-to-
digital converters and thence to computers. Of course these
signals might be used in their analog form to control a remote
robot or whatever.
274
objects may be within the room, even to a consideration of
other people who also may be moving! The feedback sensor
system must give you (or your computer) this data. In an
automated robotic system with free wheeling robots in ac-
tion, some computer somewhere must know everything
about everything and keep this knowledge accurate and cur-
rent!
275
In all pseudo-science stories concerning robots we find
that sooner or later, the "Laws of Robotics" are derived or
stated. These laws are supposed to be the statements which
govern the limits of robotic action. Isaac Asimov formulated
and first wrote the Laws. One of these is paraphrased "The
robot shall not harm his maker." Designers were supposed to
insure, in the circuitry associated with the robot, that this
Law was embedded and used as a control on the robot's
operations. Now we find that there is an effort to state some
Laws for industrial robots, and since these, in a way, reflect
thinking concerning the use of industrial robots, we should
examine them. As stated by Neale W. Clapp of Block Petrella
Associates, one set of such Laws are:
276
(e). If it doesn't make dollars it doesn't make sense
(f). One is not better than none
(g). If people don't want it, they won't make it.
277
As I write this book I wonder what the future of writers
will be. Will a robot typewriter investigate the many areas of
research by simply sending signals over the telephone lines
to libraries and other repositories of knowledge; analyzing
and assembling and developing material and then spewing out
pages of text? Perhaps it would write novels, based on tried
and true plots, or screen scripts? Man may tend to forget, and
a computer can memorize almost forever. Man may be emo-
tional in rendering judgments, a machine will just consider
278
0©
The ASEA
8
Robot System
279
Fig. 8-1. The ASEA robot for industrial applications (courtesy ASEA).
280
281
is made by the Electronics Division of ASEA, Vasteras,
Sweden. More than 600 of these type robots are being used in
various types of industrial applications in more than 20 coun-
tries. The tasks which it performs range from moving a
282
DESCRIPTION
The ASEA industrial robot system is made up of three
main parts:
Control system
Measuring and servosystem
Mechanical system
The control system consists of the computer, memories,
inputs and outputs to control the robot and interlocks from
peripheral equipment, and functions to control the servo-
system of the robot.
The measuring and servosystems include servo
amplifiers and dc motors with tachogenerator feedback. Posi-
tion regulation is by means of a cyclic resolver system con-
sisting of a resolver with associated supply and decoding
circuits, and a position regulator.
The mechanical system includes the robot and the
transmission which converts the rotation of the motors into
the required motion. The following motions are available:
Rotation (</>) entire robot rotates
about its pedestal
Out/in motion (0) lower arm moves
Up/down motion (a) upper arm moves
Wrist bend (r) the wrist bends up or down
Wrist turn (v) the "cuff' of the wrist
rotates
283
Solenoid valves for gripper operation
Gripper
The control system
based on a computer, as shown in
is
g) OPERATOR
DISPLAY
§^
TAPE
RECORDER I
CONTROL PROGRAM-
PANEL MING UNIT
> I f
I 1
|
PANEL p
I I
l^-£
l
AXIS UNIT
POS. LOOP DRIVE UNIT
SPEED LOOP
*
INPUT /OUTPUT
SIGNALS r>
CAN BE
EXTENDED TO
stm +
ROBOT
6 AXES
AXIS
Fig. 8-3. The block diagram of the robot system of ASEA (courtesy ASEA).
284
Fig. 8-4. Dimensions of the smaller industrial robot arm with a 6 kg capacity
(courtesy ASEA).
285
see what some technical specifications are with respect to
weight handling capability, degrees of freedom, and gripper
capabilities. In many applications the speed of arm movement
can be very important. Thus we also examine this capability.
Remember that as the size, and thus the inertia, of an arm
increases, more power is required to make it move quickly,
and also much more attention must be given in the servo-
system to the damping function to insure that the arm will not
overshoot its required positions, and that it will not hunt or
oscillate about an end-point position.
Power
Robot IRb-60 IRb-6
Permitted handling weight 6 kg 60 kg
including gripper:
Gripper functions:
Two independent solenoid valves housed in the upper arm,
which can be operated from the keyboard of the programming
unit, are available as an option. There is also a four-pole
electrical outlet in the upper arm; among the intended appli-
cations of this is the supply ofmore advanced grippers with
search functions.
286
Weight of robot: 125 kg 750 kg
Repeat accuracy at wrist: ±0.20 mm ±0.40 mm
Speeds:
Arm motion: rotation 95°/s 90°/s
Arm motion: radial 0.75 m/s 1.0 m/s
Arm motion: vertical 1.1 m/s 1.35 m/s
Wrist motion: bend 115°/s 90%
Wrist motion: turn 195% 150%
Every robot arm has a working envelope or area through
and which the arm can be programmed to move. We show
in
the profile of the IRb-60 in Fig. 8-6. Again notice that the
dimensions are stated in metric units.
Description of Motions
1150 200
UPPER ARM
£33 *
WRIST
LOWER
ARM
1600
800
*e
j BASE
130
Fig. 8-5. Dimensions of the larger industrial robot arm with a 60 kg capacity
(courtesy ASEA).
287
coordinates are a rotary motion (</>) and two arm motions in
the vertical plane, performed by a lower arm (0) and an upper
arm (a). All three main motions are position-controlled by
means of dc motors. A further two degrees of freedom are
available as options, a wrist turn and a wrist tilt version.
These motions are available either with dc drive or with
pneumatic rotary cylinders with mechanical limit position
stops. In the basic version these motions are mechanically
blocked.
The drive unit for the rotary motion is rigidly mounted in
the pedestal and drives the body around the pedestal column
through a reduction gearbox with a very low ratio. See Fig.
8-7.
The drive unit for all coordinates except the rotary
motion (</>) mounted on the rotating body. The arm mo-
are
tions are provided by ballscrews which actuate the arms via
links and levers. The lower arm (0) moves the wrist horizon-
tally in and out. The motion remains completely horizontal
since the a-motion compensates for the 0-motion by means of
the control system. In the same way, the motion of the upper
arm (a) is compensated so that its motion moves the wrist
vertically up and down.
The wrist motions are driven via a system of linkages
which is designed so that the wrist coordinates will assume
the set angle to the horizontal plane regardless of whether the
0- or a-coordinate changes. The drive units for the wrist
motions are mounted on the frame at the lower bearing point
of the lower arm.
The wrist is also designed in such a way that tilting
always takes place in the vertical plane.
The driving system for this arm consists of dc electric
motors. It is easier to design a driving system to produce
variable speeds and torques using dc motors than it is using ac
motors. When using ac one must have modulators, and de-
modulators and phase comparers and such. With dc motors
one simply uses high powered transistors or similar solid
state drivers. Since signals from computers are dc this also
makes the whole system more compatible, electrically. In
Fig. 8-7 we show the drive unit locations and some defini-
288
F A B C
o O
c
:o
IRb-60
A- 990
B - 1 ,720
C- 1,890
D - 1,400
E - 930
F - 900
a- 1,750
b - 1 ,655
c - 1,215
d - 370
e- 645
- f 1,065
(MILLIMETERS)
Fig. 8-6. The working profile of the IRb-60 robotic arm (courtesy ASEA).
289
tions.A unit as stated here is an electric motor. Inspect the
wrist motions and notice that both turn and tilt are ac-
complished.
290
TILT (BEND), t
TURN, d
b <5 BODY
PEDESTAL
SCREW
UNIT
SCREW UNIT
8 DRIVE UNIT
a DRIVE UNIT
Fig. 8-7. The drive units of the IRb-60 and some definitions (courtesy ASEA).
291
{-
GEARBOX
BODY
PEDESTAL
292
arm section. The manner in which this driving force is
exerted is easier than using the motors directly connected to
the joint through a complex gear train as necessary in a
direct-driving system. (In many cases direct-drive is used,
and very successfully.) The screw-type lever-action motion
shown in Fig. 8-9, approximates a hydraulic type piston mo-
But the reserve oil tank, the valves, and the pressure
tion.
pump and use of oil are eliminated which may be a cost factor.
Speed of motion is reduced over that of a hydraulic system,
and perhaps some power capability is lost when using electric
motors in this arrangement. Look at Fig. 8-9.
Mounted on the body is a bearing bracket to which the
lower arm is fixed and in which it pivots. The motion of the
lower arm (0-motion) is obtained by means of a drive unit
consisting of a motor unit and ballscrew transmission; these
are rigidlymounted on the body. The motion of the ballscrew
is transmitted to the lower arm via a lever pivoting at the
ballscrew and attached to the lower arm. The drive units for
UPPER ARM
SCREW DRIVE
Fig. 8-9. The lower arm motion system of the ASEA Robot arm (courtesy ASEA).
293
Fig. 8-10. The upper arm motion system and drive assembly for ASEA robotic
arm (courtesy ASEA).
the turn and tilt motion of the wrist are mounted on the lower
arm around its lower turning centre, see Fig. 8-11.
The upper arm description and operation are as follows:
The upper arm is fixed to, and pivots on, the upper end of the
lower arm. Movement of the upper arm is achieved as fol-
lows.
The drive unit, consisting of the motor unit and the
ballscrew transmission, transmits a motion to two link rods
articulated on a shaft extending from the ballscrew nut as-
sembly.One of the link rods is attached to a shaft fixed to the
upper arm and the other end is attached at the center of
rotation of the lower arm. Together with the upper and lower
arms, these two link rods form a parallelogram. As Fig. 8-11
shows, movement of the nut assembly and one corner of the
parallelogram will move the wrist up and down.
294
Electrical and compressed-air lines to control the grip-
pers run through the upper arm. At the rear of the arm there is
a connection for the supply of compressed air. Outlets for the
gripper, two individually controllable pneumatic outputs and
an electrical contact with four wires are mounted on the
underside at the front of the arm.
The wrist is rigidly mounted on the upper arm. Two
motions are available at the wrist, a turning motion and a
tilting motion. These motions are achieved as follows. The
drive unit for each motion can either be a dc motor equipped
with a resolver and a transmission consisting of a gearbox, or
apneumatic rotary cylinder for turning at right angles or 180°.
With pneumatic power, only one motion can be driven and the
other must always be locked. The motion of the drive unit is
transmitted to the wrist via a linkage system.
The linkage system operates as follows, Fig. 8-11. A
linkage disc is coupled to the drive unit, which is mounted on
the lower joint of the lower arm.Mounted on this linkage disc
are two arms displaced tt/2 rad (90°) on the linkage disc.
link
The other end of the link arms is mounted on a linkage disc
pivoting in the upper arm. From here the motion is transmit-
WRIST
TURN GEAR UNIT
^vTILTS
UPPER ARM A ^ A TURN
fi
W ROTARY
ROT/s
LINKAGE RODS
TURN MOTION
LOWER
ARM LINKAGE DISCS
^Wr^ BASE
TURN
Fig. 8-11. A schematic diagram of the wrist linkage system for ASEA Robot
(courtesy ASEA).
295
ted to a linkage disc in the wrist via two more link rods. The
turn and motions have separate linkage systems on either
tilt
just have a small lever output to move the linkage up and down
(A) and not need a disc (B) at all in this first position.
It is essential that the discs and motor shaft be fixed to
296
297
the rotational movement which we need at the wrist. Also,
you can consider another set of such discs and another motor
and some additional linkages which can be so positioned that
when this second motor is rotated each way somewhat less
than 90 degrees, it can cause the wrist to turn sideways, back
and forth.Thus we have the movements needed for back and
forth and up and down. The rotation or turning of the wrist
about its own axis can be accomplished with an integrally
installed motor at the wrist position, said motor to be turned
and tilted when necessary, and when activated, it can, through
its own gearing, provide a rotational movement 90 degrees
298
units and a small number
of clock pulses and control signals.
The and output signals for the control panel,
digital input
programming unit and external process go to the input/output
unit via the terminal unit. An analog reference signal, the
polarity and value of
which indicate the direction and speed of
movement of the robot axis,
is generated in the axis unit. The
299
There are two electronics modules for the computer
memory: the memory unit and the PROM-unit.
The memory unit contains a 4 K (4,096) word write/read
memory. The write/read memory is a semiconductor mem-
ory which stores the robot programs programmed by the
operator. It defines the patterns of motion of the robot, that is,
data for position coordinates and speeds, and the control of
digital inputs and outputs. The second variant of the memory
with write/read memory only, is used to increase the
unit,
memory space for the storage of robot programs.
The PROM-unit, which contains a 7 K (7,168) word read
memory, stores the control programs of the systems. The
memory content of the PROM-unit does not change in normal
service, but it can be re-programmed with a special pro-
gramming unit.
Finally there are the input and output units: these are the
tape recorder interfacing, axis control circuits and input/
output unit. The tape recorder interface controls data trans-
mission between magnetic tape and the memory. The "axis
control circuit" function unit receives datawords which state
by how many increments the relevant robot axis must move.
The purpose of the input/output unit is to match words on the
bus system of the computer to signals for controlling and
checking panel controls and external relay and contact func-
tions.For reference voltage supply of the measuring trans-
ducers on the robot, the reference counter and resolver
amplifier function unit will be required. A test panel for
servicing is also available, as shown in Fig. 8-13.
OPERATION
As Fig. 8-14 shows, the basic program for controlling the
robot system is divided up into a number of subprograms. The
300
jump back to the automatic routine always takes place, so that
new movement data are read out during the next sampling
period or at the beginning of execution of the next robot
instructions. In other cases a jump takes place to the mode
selection routine. This routine investigates which load is
301
I/O-ADORBUS
DATA BUS '
^EM-ADDR BUS i.
? JL 1
I i
'
I \>
'
INTERRUPT AND
TEST PANEL CENTRAL UNfT POWER FAILURE MEMORY 16k x 8 BIT TAPE RECORDER
DETECTION R/W. ROM. PROM INTERFACE
(A)
(B)
TAPE RECORDER
MAIN POWER
FUSES AND MAGNETICS UNIT
Fig. 8-13. The block diagram of the ASEA robotic arm (courtesy ASEA).
302
REF SIGNALS
REFERENCE
COUNTER AND CONTROL CIRCUIT CONTROL CIRCUIT INPUT /OUTPUT
RESOLVER EXITERS FOR -AXIS FOR 6th AXIS UNIT
TERMINAL UNIT
PLINTENHET
,
J 1 T
UNITFOR -AXIS DRIVE UNIT FOR 6th CONTROL PANEL PROGRAMMING
AXIS UNIT
I I I I
INTERFACE UNIT
CONTROL UNIT
§a
303
SWITCHING ON
START-UP
ROUTINE
CLOCK PULSE
CLOCK PULSE
^ ROUTINE
t
MODE SELECTION
ROUTINE
1
'f
>\
i
MANUAL —- AUTO READ
CASSETTE
WRITE
CASSETTE
>
Fig. 8-14. The flow chart of the ASEA robotic system (courtesy ASEA).
304
speed. On starting and stopping, the acceleration or retarda-
tion is controlled automatically in such a way as to prevent
overshoot.
The "axis control circuit" function unit contains two
circuits which monitor the value of the lag. The condition of
these circuits is scanned regularly and read into the com-
puter. If the lag exceeds a certain maximum permitted value,
emergency stop takes place and the robot stops. The second
circuit detects whether the lag is within a few robot incre-
ments, the zero zone. During fine positioning with the robot,
the next robot instruction does not begin until the axis has
taken up position, that is, the lag is less than the zero zone.
Servoamplifier
The servoamplifier is part of the position control sys-
tem. In IRb-6 it consists of a transistorized chopper and in
IRb-60 a thyristor converter is used.
The drive units of all axes in IRb-6 are supplied by a
common power supply rectifier; see Fig. 8-15. The positive
or negative supply voltage is supplied to the drive unit motor
circuit at a frequency of about 1 kHz. The motor voltage is
305
/£>!
DC
1
O
a^
-J
<
DC
LU
Z
i
i
^
i
LU
i
o
DC
^>o
DC ° ^3
o O CO ,<
oft < LU 9
1- DC Q
^1
oil II II II
z ODC^
H
cr
lu
DC
ID Z _l
DC 3 <
O LL
O
1
LU
z
LL
6tZ — o
m CO + CO CO
LU
3
DC
Q Q 2
LX
LU
<
IE i
i
LU
DC
CD
f Q_
CO
<
Q
O
_ >
Q DC _l
< O LU
LU LU LU
LU LL O z CO CO
Q.LUZ o DC CO
CO DC LU CO
z
o
co
8s
LU 0-
1- o X LL
Z Q_ i- O
3 4
CO
^
~
X
< m>-
CO i-
x z
i
LU O <3
S yjp
— ID -z
CO ^ CO
j < o
Q > CL
306
cc
On
g <
LU
<
LU
LU i CO
<
>»
CO
CURR
0)
r
UCTOR
O
ION
o
.O
SIT O
o
3>i.
ccr^™i
CO
-D
CC
o
>/ . 1
CD
-C
cc c
LU h- V-
o
2 ,
z o
CC < Z> CO
CD
<
ANSFO
~
DRIVE Z CD
INS
CD 3
< cc CO CO
2H Q CO
(1)
LU CO
i ii
LU < 3
a.
Z x:
LU LU LU
CO o CJ
LU LL O CO
Q.LUZ z cB
CO CC LU o "5.
E
CO §
cot O CD
Q. CO
?s «- ^ CD
<3
B
b
CO
LU
3
^Z CO
"6
29
Qt
I -
o
CD
CCO .c
r—
05°-
LU LL T-
QO 00
cb
LL
307
and used as a reference for the motor current. A pulse shaper
then controls the transistor switches to give the required
direction of motor rotation and the required speed.
In IRb-6 the smaller robot system, the motor current is
monitored by a circuit in the drive unit and if the current
exceeds its critical value for more than 5 sec, this circuit
ensures that the current is reduced to a safe value. This
function is used to protect the system, when for any reason,
the robot arm comes up against a mechanical limit position.
The motor circuits of both IRb-6 and IRb-60 are fitted
with a thermal release which causes an emergency stop when
the motor temperature goes too high.
308
mechanical limit position. These position registers are stored
in the memory. The working range of the axes is stored in the
control program, and any axis attempts to exceed the value,
if
309
• Charging time for discharged battery, approximately 6
hours.
A red indicator lamp on the battery unit lights up if the
battery is discharging. There is also a switch to disconnect
310
Solenoid valve For pneumatic control of
Limit switches or turn and 6th axis
tilt
(replaces electrical
control)
311
The relay driver stages, which are current-sinking, are
designed for +24 V and 150 mA maximum. The total current
in the output stages must not exceed 2 A.
The programmed outputs are used in automatic running.
Interlocking inputs for the robot program
• 16 inputs numbered 1 to 16.
The input stages convert the contact functions or signals
from current-sinking driver stages into logical signals suit-
able for the control equipment. A contact or current-sinking
driver stage must be capable of connecting 10 mA to V and
must be dimensioned for +24 V. A 2.5 ms filter circuit is
provided to eliminate the effect of contact bounce and high-
frequency interference.
The programmed inputs are used in automatic running.
Gripping tools and search devices signals and connec-
tions
The standard version of the ASEA robot is supplied with
electrical wiring to a socket on the robot arm for the connec-
tion of search devices or other types of grippers. Different
connections must be made in the control cabinet depending on
the function for which the socket is to be used. The following
312
must be maintained so that they provide proper connections
between their moving points and the fixed points. Cleanli-
ness, spark prevention, reduction of pitting, and heating are
some areas which must be considered. Sealed relays or solid
state relays tend to reduce problems in relay maintenance and
in the switching of large voltages and small signal voltages in
any robotics system.
Switch Function
MAIN SWITCH To switch the power supply on
and off
alight.
b. Power supply switched on.
Content of program memory
will be lost unless standby bat-
tery supply is provided.
PROGRAM SELEC- The control system can store 4
TION programs in its memory. The
1-4 switches are used to select the
programs in automatic running
and when programming a new
program, or when using the tape
recorder. A yellow indicator
lamp lights up for the selected
robot program(s).
a. OFF This program is not used.
b. ON This program is connected
313
BATTERY The switch is on the battery unit
and is used to switch the
standby battery supply function
on or off.
314
EMERGENCY STOP Immediately stops all robot mo-
tions and sets the system in
the standby condition. The
EMERGENCY STOP lamp
lights up.
315
PROGRAM START In the automatic mode, the
robot program starts. In the
manual mode an instruction
isexecuted whenever PRO-
GRAM START is pressed. The
pushbutton is also used to start
reading from, and transfer to,
tape cassette in the "read cas-
sette" and "write cassette"
modes. A green indicator lamp
lights up during activity.
set.
316
EMERGENCY STOP Red lamp lights up after an
emergency stop has taken place
or after internal emergency
stop initiation from the control
system.
317
when an instruction key on the programming unit is pressed.
In addition to positioning instructions, it is possible, for
example, to store in the program memory instructions for the
operation of grippers, opening and closing of a number of
number of interlock inputs, time-lag and
outputs, testing of a
repeating. The programmed instructions are then executed in
sequence in automatic mode. The programming unit is shown
in Fig. 8-17.
In order to avoid tedious reprogramming after long
periods of power supply disconnection, or when more than
four programs are to be used with the robot, programs can be
stored on cassette tapes.
Some interesting aspects of the remote control panel are
section D, which controls the arm, and E which has the
control buttons for the wrist. Notice how the movements are
designated on this panel. Numbers have been added to the
button faces to make it easier to discuss their individual
operation. Look at section D first.
Alpha A a =
Theta e
Phi <D z = p = <p
Upsilon Y v
Tau T r(r)
318
1 2 3 4
PTPF PTPC PTPL GR*>PER UMfT ACKNL OP ERROR
5
-
J
'
> ' \
9 10 11 12 "
TESTWAI T TEST OUT TESTJU*V JUMP
13 14 15 16
REPEAT END REPEAT PATTERN MOO
V=
J SI r
L S
&Ogra»!
WRIST
GRIP 1
•!
;1
r> r+ rl RELEASE 1
J k 1. J 1 nrt — U 4.
Fig. 8-17. The remote programming unit for the ASEA robotic arm (courtesy
ASEA).
319
tomake the arm move through each of the positions shown. Of
course you might also imagine some positions of your own
choosing and write down the button pushing program to get
the end point of the arm to those positions. You can also
imagine that grippers are attached and include in your pro-
gram the steps necessary to grasp and move something from
one place to another. Try it! In the following table you will find
what everything does on the control panel. Some statements
will require some thinking and analysis on your part, but it
will be worth the effort.
Switch Function
AUTO SPEED Selection of speed to be pro-
grammed for positioning in au-
tomatic mode. In automatic
running of program, the highest
speed is limited to the speed to
which this switch is set. In
step-by-step operation the
speed is limited to not more
than speed 6. Position 8 gives
maximum speed
Posn 7 gives 75% of max speed
Posn 6 gives 50% of max speed
Posn 5 gives 31% of max speed
Posn 4 gives 13% of max speed
Posn 3 gives 5% of max speed
Posn 2 gives 2.5% of max speed
Posn 1 gives 1.3% of max speed
320
a. INCR The relevant robot axis moves
one increment
321
c. 3 PTP L Straight-line operation such
that positioning is concluded
simultaneously for all axes. The
travel time is stated in the form
of an argument.
322
1. 12 JUMP Jump to the instruction number
selected on the keyboard.
323
GRIP1 l-r.;;t: 1 lists
ly-
c 0-axis
a-axis
moves forward
moves up
a-axis moves down
22-
Tilt-axis moves up
Tilt-axis moves down
Turn-axis rotates clockwise
Turn-axis rotates anticlockwise
325
Indicator Lamps Function
THE GRIPPERS
We need to spend some time examining the gripper
operation as it applies to this robot and the others which we
326
grippers appear and function from previous illustrations, but
here we will look at these units in more detail.
The end units are those that are affixed to
first types of
the robot's wrist by bolts or other type locking mechanisms.
Some of these types of end units are the welding torch, the
paint atomizer or spraying unit, drilling mechanisms, and
perhaps even nut tightening units that can tighten to the
correct torque, precisely. There are many other end units
which fit into this category as you can imagine.
The second type which may have a
of gripper is that
pincers arrangement or claw using two or more fingers that
can grip and hold various objects while the arm either moves
to new positions, or adjusts the object held to another
mechanism which may polish, sand, de-burr, paint, or what-
ever. We have noticed that many arrangements of the claw or
pincers type end-unit are possible, one of which is illustrated
in Fig. 8-18.
One interesting aspect of this gripper is the lever ar-
rangement which makes the jaws open and close as the drive
mechanism pulls or pushes the levers at point A. A second
item of interest in this unit is that the jaws have a soft face
which permits some compliance in the grasping action. What
this means is that the jaw faces can conform to the shapes of
some objects to grasp them better, and are not rigid as would
be the case if the jaw faces were solid metal. Also, when you
have this compliance capability, it is an easy step to incorpo-
rate some pressure activated switches in the complying
material such that when the object is grasped a switch is
closed that lets the computer know that the object is being
held. The computer can then order, perhaps, a slightly in-
creased tightening of the jaws. Not enough to damage any-
thing, but enough to insure that the object won't slide out of
the gripper when the robot arm moves it. In systems where
the jaws simply close to a certain dimension and are stopped,
if the size of the object changes or its physical shape changes,
then the object may not be properly grasped at all. One has to
re-program the closing dimension in order for the gripper to
close satisfactorily on the new object's shape or configura-
tion. Compliance is a good thing and we can think of only one
327
PNEUMATIC PISTON OR
ELECTRIC MOTOR FINGERS
Fig. 8-18. A pneumatic type gripper may also be electrically operated. In the
case the pneumatic piston is replaced with an electric motor. Here we see a
latter
diagram which shows the mechanics of operation of one type gripper. Notice that
the "fingers" open in a rotary movement, not a parallel, translatory movement.
328
329
Only two fingers have been shown. Please realize that in
some cases it may be necessary to use three or more fingers
330
331
switch to activate, sending a signal to the control computer
that the jaws have gripped something with a pre-determined
force.
In Fig. 8-22 the specifications are shown for the parallel
motion jaws of the Fibro-Manta gripper module. Also shown
are the diagram of the hydraulic system and the diagram for
the proximity switch installation.
We normally do not think of a gripper as being some unit
which must operate within a given time limit, but it is such a
unit, especially in industrial applications. If the robot is to be a
part of a large automated chain, then it will receive the units it
332
a
Q.
§S3
OB
C
= <D O O
k.
<D
o>. »C -c
Q. E
E
lis 8
• .i
ill <
CM
S> u> u>
CO
g>
LL
333
£ Q. Q. c
E d
E « ™ E
o «
-2? u ii
5 c
X QJ
5c S
c
* c
T3—
11 y 2
<D -
1
£ Q-
§§
334
> r £
eo O c
JE
1 v-
J
31
I
I 2
I
I
1
^m *4
^ 4|M -~
x 5 °
a 8 S
Irk
^
02.- uia
0*0
[89]
4
B s l c =
- ^ I
= • o J
o : o 2
o
-
a.
c
u
-
c
-
"b
2
"I?
- - z
|
—
*
^ c
> C Q JO
- -
j« j« * w> • * a
c z. - >
»eo" • g o
l i d S
r> P> « J o»
r>« - - oooo "gS. = £
a a a .2 • i r
5"
3333 a.
-rjQ.
i a
k c c
* i • E c c
u =-
Efl I.OO
00 o
335
forms and sizes from the commonly visualized circular unit to
a simple bar-lever type arrangement. However, it is reac-
tionary, and must be driven to energy storage by
its state of
some other means. This requirement may or may not be a
disadvantage.
HYDRAULIC-ACTIVATED GRIPPERS
The hydraulic system works with a non-compressible
fluid. This means that there is no give in the system. It
336
oil,has a high density, and thus, even though it is light-
weight, (low SAE number) it also adds delay in motion. Thus,
while a hydraulic system is very fast in operation, it does have
some delay forces acting on its elements.
We can summarize the hydraulic type gripper, then, by
saying that it is very powerful and very fast. It requires some
ancillary equipment and it requires high pressure secure
lines, fittings, and seals.
337
returned to the cylinder after use, it must be expended out of
the system in some way.
The seals in an air operated system must be tight be-
cause the density of air is less than oil. A transfer valve used
in the airsystem must also overcome stiction and viscous
even though the viscosity of the air is very low. Then,
friction
as we have stated, the air must be dry (inert gas is often used
because of this), and the air must be clean, requiring filters
with micron size holes in them.
338
spring loaded units, which then can be released by another
magnetic trigger creating very fast operation.
GRIPPER SENSORS
We must not leave this discussion concerning grippers
without mentioning the feedback units which can be used with
such end-devices. We know that many countries are experi-
menting with fibre-optic systems built into the gripper to give
the control computer some knowledge of the proximity of
objects, the shape of objects, and when the gripper has such
items in its grasp.
Examine Fig. 8-23 where the angular type gripper might
not be most suitable because the light beams might not
constantly impinge on the receptor units in the fingers. In A
we see the static condition of a gripper and the light beams
from the generators going directly across the open space to
the receptors where they cause
signals to be sent to the
computer. If you
imagine the top finger and bottom finger
will
pivoting as they open to grasp something, you will see how
moved toward the end of the finger and
the light beams will be
no longer impinge perpendicularly on the lower finger recep-
tors. See part B of Fig. 8-23. You might consider this to be a
valuable effect if you let the beams activate the receptors, say
2, 3, 4, and then 3, 4 and then finally, just 4 and let the signals
339
thereby generated inform the computer controller just how
far the jaws have opened. Then if the beam is interrupted
completely, the computer knows an object has come between
the fingers and can initiate closing of them.
If we consider a parallel gripper finger movement such
as previously described, then we note that all beams stay
positioned on their respective receptors from wide open to
close position of the fingers. This fact can be used to let the
computer know how far inside the jaws an object has been
positioned as well as the fact that it has been positioned
therein. This could be of value in some applications.
Some system
applications might use a gripper-finger
wherein would be emitted from each finger outward and
light
340
341
be very sensitive and very reliable. There are many ways a
magnetic field might be used as a sensor system in a robot's
grippers.
so on. Now we
want to consider some simple type sensors
which can inform the computer of the actual physical position
of the grippers jaws. Refer to Fig. 8-24.
At A on the figure we can see a linear potentiometer
which has been connected mechanically to the bolt-screw
arrangment which translates back and forth to open and close
the gripper fingers. At this particular point of the mechanism
the motion is a translation and so a linear translatory poten-
tiometer can be used. The translatory potentiometer can be
calibrated so that a fraction of a volt represents a fraction of an
inch. It will give a signal amplitude directly proportional to
the position of the fingers since they move together and in the
same opening or closing direction. Notice that only one need
be used because of the simultaneous and twin action, of the
fingers. If the linear potentiometer is used in a bridge as
shown to the right, then opening the fingers will (or can)
produce a negative signal with respect to ground, and a
closing of the fingers will produce a positive voltage. Now we
have both amount of motion and direction specified by an
analog voltage.
At B on that same section of Fig. 8-24 we show how a
regular circular or semicircular potentiometer might be used
in the same manner. The arm of the potentiometer must be
fastened to the finger at the pivot point so when the finger
rotates about this point it will turn the wiper. The body of the
potentiometer must be fixed in place as had to be done for the
linear potentiometer. The housing shell or frame on which the
fingers are mounted can be used for this purpose. It would
work in the same manner as the linear pot.
At C on the figure we see how a resolver might be used
to give amplitude and direction information to a computer. It
342
343
has to be mounted in a similar manner to the circular poten-
tiometer. It has an armature which must rotate with the
movement of the finger. The stator part of this unit has to be
fixed. When the rotor or armature is turned, an ac signal is
344
operation is being done then the robotic brain might like to
know when the part is reaching a too-high temperature due to
the abrasion, and thus pull it away from the grinding wheel.
Temperature sensors in the form of thermocouples are com-
monly used in automobiles and in our homes on water-heaters
and perhaps in other places. They can generate a voltage
which can cause a switch to open or close and thus produce
the high temperature warning signal. It is possible, also, that
the thermocouple can generate voltages proportional to the
temperature so one could have gradual control over a heat-
application process if this was necessary.
What else might we use? How about a vibration sensor?
This might let know when some object being
the robotic brain
handled was not going through its process smoothly for some
reason. If the mating of a part is not a good smooth operation
then excessive vibration could occur which would be felt. The
vibration sensor, in turn, would sense this and send the signal
alarm. Here, again, it is an item which is commonly used in
the market place. This type sensor used on large window is
345
so that the gripper can adjust to the shape of the object it
346
Robotic Eyes
347
fc&h
Fig. 9-1 .The Cincinnati Milacron T robotic arm (courtesy Cincinnati Milacron)
348
arm moves when it does a task for us. This Milacron robotic
arm can move from one inch-per-second to as fast as 127.5
inches-per-second and this velocity range can be adjusted in
increments of 0.5 inch-per-second units. Its precision-in-
location ability means that it can return to the same over and
over with an accuracy of plus-minus .025 inch. A way of
visualizing this accuracy is to know that it represents 1/40 of
an inch. You know what a 32nd of an inch is, so tighten up a
little on this distance and you'll have the l/40th of an inch
distance.
There are some types of applications where tolerances
must be even more precise. In fitting a bolt or a shaft into a
tight tolerance hole, an accuracy of 1/64 th inch or even better
might be desired! Even then some wobble may be incorpo-
rated into the robot's wrist movement to cause the tight
fitting object to go into the hole as it is supposed to. Figure 9-2
BOLT
^U— WONT MATE AT THIS
i
ANGLE
3f
PLATE )
) 1
349
illustrates how just a small off-set can make it difficult if not
impossible, to get a bolt or shaft into a closely machined hole.
Perhaps the problem of getting a servomechanism to have
even greater than usual position accuracy on a repeatable
basis will be solved, and the limit of such accuracy may
astonish all of us!
When we consider an industrial robot as shown in Fig.
9-1 we also want to be aware that this type unit can be
programmed to perform a series of operations with one tool
as its end unit and then change to another tool to do some
other operation. The wrist connection must be such that a
quick disconnect and quick connection can be accommodated,
and with all power connections necessary to make the
the
new tool operate in whatever manner it is designed to oper-
ate. When we think about this for a moment we realize that
there is more to a tool changing operation that is first
apparent.
One other item of information which we now should be
aware of and which we have not mentioned prior to this is the
concept of a rotary hydraulic actuator. They exist and they are
rather common. They are much used in marine operations.
They can be precisely controlled to rotate small or large
amounts and they have considerable power. If you are in-
terested in going into this subject deeper, I suggest a good
text on hydraulic engineering from your local library.
It is always interesting to see a robot arm in action. If you
examine Fig. 9-3 you can get one idea of how this Milacron
robot appears on location and in action. One other view of this
robot in action can be seen in Fig. 9-4. What is interesting
about this picture is that this is just one station of a two station
operation. Shown is a refrigerator liner which is made of thin
gauge plastic and due to its large size is difficult to handle.
One robot arm removes the from a moving conveyor and
liner
places it in a removed from this trimming
trim press, then it is
350
8 8
*8?
o a
F r
II
« o
a
CO iO
fi
E-&2
351
o c
o z. !=O
80 3 £
co •£
to
C
(1) (1)
^ > 2 S
5 ° a>
2Er CO ?
to
CO O)
a> cy
^ O) CO
2=00 O 05
\- C — Q>
"D O CD
d> 2 2 o if *=|
.C CO
• CO m O) ©
9? E 5? c 0)
Ll td iiz o £15
352
THE QUEST FOR IMPROVEMENT OF INDUSTRIAL ROBOTS
Time marches on and improvements and breakthroughs
in technology make possible concepts, ideas, and things
which are almost incredulous. Improving an industrial robot
may not be anincredulous feat, but it is worth some time and
attention. And, like our mini and micro computers, robotic
systems do improve as time advances. We will examine one
such development.
Turn to Fig. 9-5 where the newest of the Cincinnati
Milacron robots is shown. The immediate focus of our atten-
tion is on the new wrist development shown. This is a three-
roll wrist and if we look back to Fig. 9-1 we can see how the
3
Fig. 9-5. The "F^R Milacron robotic arm has a three-roll wrist. Compare this arm
construction to that of Figure 9-1 (courtesy Cincinnati Milacron).
353
pass its station each hour. 200 welds per body are ac-
complished, and that means the robotic arm must operate
quickly and precisely to do this job. Four such robotic arms
arm can
are used. With a capability called tracking the robotic
move as the car body moves so that the welding takes place in
a continuous fashion, and the conveyor line never has to be
stopped. It is makes no difference whether the line
said that it
354
industrial robots achieve this accuracy, or better accuracies
than this. The discussion of accuracy is in connection with the
generic robotic generation of our time, not any single system,
although we are examining the Milacron as one example of a
fine robotic arm.
355
Let us now proceed to investigate some hard facts about
just what robotic eyes are, how they work, and what their
capabilities and limitations are.
There is no way at present to provide a robot with all the
visual capabilities that a human has developed. To elaborate
on this idea, think of all the various scenes that you can
immediately identify. Think also how the human brain can
identify size and shape and coloring and structure and com-
position and distances. Can a robot's eyes do this? Can it do it
for all the countless pictures which the human brain has in its
storage bins?
What we are saying is that perhaps the hobbyist's dream
of having a robot, with eyes roll down the street and say good
morning to Mrs. Smith and Mrs. Jones and Candy and Jim as
the robot seesthem and identifies them, seems unlikely. Of
course, if we provide the robot's brain with pictures of these
people and it can then compare the picture it sees with what
we have given it, it might. Polaroid and Bell Labs have both
been working on computer recognition.
In the industrial situation we find it very desirable to
give a robot some eyes. If it can identify a particular part
amongst many parts passing by on a conveyor belt, that can be
most useful. If it can watch and follow and adjust for parts
misorientation and placement and such, that also can be most
advantageous. So there are many prominent companies en-
gaged in developing robotic eyes for use in the industrial
scene as we shall see. For the hobby scene, it may be some
time before the use of eyes on a robot becomes worthwhile to
incorporate. The basic question is what advantage is there to
giving the robotsome vision?
The remote-controlled robot might be clad in asbestos
armor for going into a flaming floor of a home or office or
warehouse and seeing what is there, and perhaps accomplish-
ing a rescue attempt. For underwater robots, one must cer-
tainly have some vision transmitted to the control center so
that a human might send commands to make the robot fix or
adjust things underwater. The seeing robot can be very useful
if it extends our own vision capabilities. Visual feedback may
also help to eliminate the stringent accuracy requirements in
356
ANTENNA
the workplace. If the robot can see what it is doing, the arm
can adjust the manipulator so that the task is accomplished.
Seeing as we use the word here, may not be precisely the
same as seeing related to the human optic operation.
Let us examine what is meant by seeing in an industrial
application. A robot is going to be able to reproduce what it
sees in a digitized form so it can compare it to a previously
saved picture and make adjustments in the arm. Examine Fig.
9-7.
The camera is pointed where the object is to appear and
instructed to follow, or keep track of it. When a picture is
obtained, must be analyzed by the microcomputer and
it
357
LIGHT CAMERA
REFLECTIONS =^> -Tl|
I SCANNER
ELECT SIGNAL
V
MICRO
COMPUTER
ANALYSIS
X
CAMERA
MOVED TO NO y YES ROBOT ARM
SEARCH SELECTS &
LIMITED GRASPS-MOVES
SPACE
IDENTIFICATIC MSI
& RECOGNITIC )N
358
Fig. 9-8. The camera coordinates of a system for robotic vision.
GRIPPER
Fig. 9-9. An imaginary monitor screen shows the "object" and the gripper, and
the motions of each.
359
then this might be a signal to put it in the proper position. If it
does not have the shape the computer thinks it should have
then the computer might stop the conveyor and have the robot
re-position it. If this cannot be accomplished the computer
will decide that the part is not useful and discard it.
NOTE
BOLT-ONLY SECTIONS IN
WINDOWS ARE VISIBLE
WE SHOW ALL OF BOLT END FOR CLARITY
\ ^
\
1 \ ^4 7 10
BOLT HOLE
\ N BLOB
^
2 5 8 11
3 6 9 12
I
Fig. 9-10. Robot-Vision "windows" depicted on an imaginary display monitor.
360
PREDICT
FEATURE
LOCATION
&
SIZE
V
EXTRACT
WINDOW
V
DETERMINE
Fig. 9-11. A robot-vision tracking
FEATURE
system block diagram. TYPE
v
LOCATE
FEATURE
V
UPDATE
TRACKER
361
9-12 may be helpful. Each window may be scanned separately
in a high resolution system. The scanning process is just like
standard TV technology.
SOME BASICS OF
ROBOTIC-VISION COORDINATE DETERMINATION
Figure 9-4 shows the military problem of trying to hit an
airplane with an artillery shell. The first task in that problem
is trying to define the position of the airplane in a three
dimensional world. That is, its altitude, its azimuth, and its
362
i i LU
LU
Z
_l
z cvj
< LU
o 5
00 1-
Q
CC
CO
v
sT
< LU
Fi
LU »-
* 1
o I
LU
X
J
N LU
00 z
_l
Z LU LU
< CD
z 1
O <
oo <p z£
00
C\J
1—
>
in lu yj
LINI LIN
LIIN V
in m 3
Z Z Z
co
1-Q Q
(OZj
oo oo
_i
o
>
+ o
- CM n
1 1
1
^^ ^
T f
C\J
--O _
£
O
Q
^
LU LU LU"^
2 ^ /-) -^ Z
F
£
v — ^ ^^ co
<^^^^
ts.
;
i k
^
\*^ ^/^ >
en
c
'c
H c
o co
Q. o
</)
<
Z
<LU
oo
O <D
x:
CVJ
O?
00 -1
363
E=*
O *£ _ 0)
d) © «p
Eg o
— © </)
2 E fe ®
0) © .q
c .c > E
0) *- «
3
© o . ©
CD O)^*
g CO LU
CO LLI
ffi
>^
T 6 —
*- ^
> ©
to
oo © r
C CO R
364
r
s
(Z) /
Z DISTANCE
OBSERVER
IS COORDINATE
ORIGIN POINT
365
4 i
TARGET
-X2 o X2 +X2
X1
/ /
(AX)
-X1 o /J ( +x
I AZ
1 r
X- Y
Z2
1
Vq--*
AX X2 - Xi
= TAN(/>
AZ Z2- Zi OS-
Zi
AZ-0
LASER
fl
LIGHT
SOURCE
TV CAMERA
366
configuration from the camera we have examined in Fig. 9-13,
but the operation is the same. The basic concepts underlying
the Optomation video system are three.
The first is visual observation with the CID camera.
Because it has a very stable coordinate, system, it can effec-
tively super-impose a stable and repeatable measurement
grid over the object under observation.
The second is the recognition of the object by the extrac-
tion of some of its key features.
Finally, based on observation and recognition, some kind
of decision is arrived at by the computer controller.
X- — — ax J Tax,az is area of
[uncertain position)
DESIRED
DISTANCE
MEASUREMENT
I
Z3
t GRIPPER
BASE DISTANCE
EFERENCE PLANE
367
CAMERA L
CONTROL CAM
(ADJUST) r-
WINDOW "
—
iI
1 >
WINDOW INPUT
DATA
\t
ANALYSIS
&
COMPARISON
/ANALYSIS^
NEW
WINDOW *
/ COMPLETE'\ INFORM
SITUATION NO v (IDENTIFI- / YES COMPUTER
REQUIRED
i t
CONTROL
SYSTEM
OPERATION
368
E
o
a
ui
- r
= E
X _
"7 o
——
- I
>
369
£$
»I
E«
- p
^ (0
8 c
< E
ilOO
370
only that a cycle control pulse be sent to it. This pulse informs
the interfacing unit that the camera data is ready to be ac-
cepted by the computing section. It also causes a new frame of
video to be put into the feature extraction section. This, in
turn, causes a new set of measurements to be taken.
There are 8 separate decision outputs available to the
computer and control system from the interface unit. These
may be in either one of two forms. They may be in TTL
positive true logic levels or a one amp, 60 Hz control signal of
either 110 or 220 volts, present when the output is true. A
strobe interface is provided in this system to synchronize a
stroboscopic lighting system with the input cycle.
371
Channel 1 and the Channel 2 blocks. On the right of this
section is the sequence step constants section. On the bottom
row we find the section for window control.
372
The camera unit is a logical starting point. It has a CID
eye which means that it is composed of a mosaic of solid state
light sensitive elements called pixels. The TN 2200 of Fig.
9-13 has 16,384 pixels, and the TN 2201 has 14,364 pixels.
Pixel time is the time required to scan a single pixel or light
sensitive point. Pixel time for the G.E. TN-2200 camera is 10
clock periods.
Frame time is the time required to scan a full array of
CID elements and it includes the blanking time. The TN-2200
frame time equals 17,688 pixel times and the TN-2201 frame
time is equal to 16,608 pixel times. The line time is that time
required to scan a single line of pixels and it includes the
blanking time. For the TN-2200 it is 134 pixel times and for
the TN-2201 it is 48 pixel times.
As used in the schematic diagram the X,Y, and Z axes are
the same as an oscilloscope's axes. X is left-right, Y is up-
down, Z is bright-dim.
As we develop this subject we will be seeing some
abbreviations, and so definitions of them will also be useful
here. TTL is transistor-transistor-logic. LRR is line re-read.
Inhibit Input is abbreviated II. EOL is end-of-line and refers
equipment.
There is a relationship between a lens picture size and
the actual size of an object. The camera under study at the
moment has a chart relationship which defines the size of the
object as seen by the camera in terms of a ratio of object size
to distance. The focal length of the lens is the factor which
governs this ratio, as follows:
373
Focal Length Object Size/Object Distance
mm inches
4.5 0.18 1.3
6.5 0.26 0.89
9 0.35 0.65
12.5 0.50 0.46
16 0.63 0.37
17 0.67 0.34
25 1.0 0.23
35 1.4 0.17
50 2.0 0.12
75 3.0 0.08
100 4.0 0.06
+5V
100K
PIN M 10K
VIDEO 100 n TTL
TO
^w^- SIGNAL
CAMERA 10K
PIN N 301
VIDEO
RETURN- i
THRESHOLD
OP AMP
SETTING /
374
POWER
^ J?
'/l\
LIGHT
SUPPLY
®Q TN2200
i
— *,
- Z
- X
/
SWEEP kiOMlTOQ
GEN.
A /D
YEOLDE SIGNAL
ROBOTIC EYE! PROCESSOR
EOL- EOF 1 1
VIDEO STROBE
BAD GOOD
PART PART
OUTPUT TO
SORTING MECHANISM
bad, the robotic arm and gripper are signaled to reach out,
grab that part, and convey it to the re-cycling area. If the part
is good, the robotic arm may pick it up and send it along
on another belt.
375
tially applies the appropriate address signals to each of the
columns, one at a time. This establishes a half-address condi-
tion on all the column pads in each column in turn. When all
376
Fig. 9-23. The robotic camera eye's CID (charge injection device) row-column
matrix system (courtesy G.E.).
377
1 1
« bI <
5 2 < ^ X n*
Ilill
8u.u.O SS
30 2
°°°5 ft
2 55
33J
> > I- - U
T-r-n-r
\\\\\ 1 111. .1
1
\\\V
f
1
W
Hi llllllll
LU
d
NA
Dr
QHHI
r
o
s^ I// ur
o
urn ilium
\w w
\SSM-
378
The reason for this is so that you can arrange for the storage of
the absolute values intwo sections and then you can get sums
and differences by comparing these values if this is desired or
necessary.
The feature control unit with all of its switches does
permit a great deal of flexibility. For example, you can obtain
your choice of video polarity which can be important depend-
ing on the background of the object under inspection. You can
also select either smoothed video data or raw video data.
To find the position of the object in the space viewed you
can check either the position of the object in the window
section or the edge of the object in the window.
To measure size the count direction will determine
whether measurement will be made along the X axis or the Y
axis. You can choose whether you want a linear count or a
cumulative count. The difference is a linear count will give a
width of the object along a single line within the window. If
you choose a cumulative count, then you'll get the total area in
the window. Total black and white pixels are in the two data
accumulation units, one in each channel.
The contents of the feature data accumulators are
time-multiplexed into the channel 1 and channel 2 output
buses under the control of the 12 channel step program
sequencer. This performs the total basic steering function of
data for the entire system. Each feature data accumulator can
be assigned as many as three program steps and any unas-
signed data effectively becomes zero.
379
More on Robotic
Vision and Speech
381
MASTER CLOCK HI-RES DIGITIZER REAL-TIME
AND SYNC 8 BITS » 640 DIGITIZER
GENERATOR x480 6 BITS x 640
CONTROL BUS
MICROPROCESSOR COMMAND-STATUS
DATA BUS ALPHANUMERIC MEMORY REFRESH
<=> INTERFACE
CONTROLLER
AND
CHARACTER
MEMORY
6 BITS x 640 x 512
& 1 BfT \MHfTE GRAPHICS
GENERATOR
Fig. 10-1. A Block diagram of the Eyecom robotic-eye system (courtesy Spatial
Data Systems, Inc.).
382
vided. In normal operation the image is stationary and the
brightness at any point of the image is a function of the X and Y
coordinate position on the tube face. The image brightness at
each point is then defined as a third dimension or Z coordi-
nate. This is converted into the video signal by repeatedly
scanning the image with an exploring spot formed by the
electron beam of the camera gun. Notice the EyeCom camera
in Fig. 10-2. It may look familiar to you. It is relatively small
and easy to mount in a number of either fixed or moving base
positions.
383
2 W
aj iS
O (0
E°
o <o
° m
*-?
. o
eg .o.
c ^.
•
c 2
O) « E
il s*
&1
384
THE INTERFACE CONTROLLER
All of the EyeCom functions are controlled through the
control bus. This bidirectional bus transmits control signals
to the displays, digitizers, and registers from the interface
controller. It also sends status signals from the EyeCom
internal units to the interface controller. Data is transmitted
throughout the system on the data bus. The interface control-
ler connects the microprocessor bus to the EyeCom bus. The
keyboard used with the microprocessor connects indepen-
dently to the interface controller. Figure 10-3 depicts the
monitor screen unit and the microprocessor keyboard unit.
385
O >s £ -o
^ <D
§^
o S
o CO O
o S (0 .C
O) o
8 ©
1
co E
. c
co
6
co
c
Is
"2 o
CD
386
© ± CO
^O ^
5?
0)<D
"O —
CO
C
E © £
<D CO
u © o § E
E co. CO ®
o — _ o £
Io w©
O CD E ©
F 8.® £ ©
• Cfl C
o
*"
||
T3 c/)
£ 2?
« CO
LL 3 O Q.S
387
ARM ARM
k ROBOT
MACHINES *
MEMORY
&
SOFTWARE
CAMERAS
/ROBOTIC\
TEACHING Ieyes I
UNIT
4-
COMPUTER
EXECUTIVE
RECOGNITION
UNIT
DATA BUS
4—
I DIGITAL TO
ANALOG
ANALOG TO
SPEECH DIGITAL
CONVERTER
UNIT
+ + +
SERVO SENSORS
SYSTEMS ON SERVO
UNITS
388
THE EYECOM DIGITIZER FLOW OPERATION
The X-register and the Y-register are loaded from the
data bus with the location of the pixel to be sampled and
digitized. The X and Y registers are continuously compared
with the spot position as provided by the sync generator
counters on the timing bus. When the scanning spot reaches
the stored X, Y address the address comparator issued a
sample pulse to the high resolution digitizer. The command to
sample and digitize a pixel is received by the digitizer control
from the interface controller through the control bus. The
sampled video is digitized into an 8-bit binary Z-value and
then stored in the Z-register where it can be accessed through
the controller by the computer.
The physical electronics of the system are shown in Fig.
10-7. Notice that the circuit cards are so arranged that they
are easily removed for inspection, replacement, or whatever.
Finally we examine a block diagram of the EyeCom color
digitizer system in Fig. 10-8. If one wants to make a color
display of something which isn't colored then the data from
the picture display is converted to color by the optional color
look-up table. Each of the 64 gray levels in the most signifi-
cant 6 bits of the picture display memory is assigned a color.
Colors are stored in the table by the digital computer. Colors
are defined as proportions of the primary red, green, and blue
values using 8-bits per primary. As pixel values are read from
the refresh memory, they address the color look-up table.
Color values are then converted to video signals.
In the block diagram we find four solid state random
access memories in the refresh memory section. One of these
is used for display of graphics and the other three are used for
color pictures. Color pictures are produced by superimposing
three separations in red, green, and blue on the color display
picture tube. Each separation contains tonal variations rep-
resented by an array of pixels stored in the red, green, and
blue refresh memories.
389
DIGITIZER ELECTRONI CS
START
COMPUTER PROGRAM
r- ( )
START
( ) /^ SMPL CMD ^\ NO
<
\. RCVD? S
LOAD YES
X REGISTER
SET BUSY
LOAD
Y REGISTER
^
>^ X Y ^"s NO
OUTPUT
SMPL DMD
V. CMPR /
|YES
Z VALUE TO
Z REGISTER
RESET BUSY
SET READY
END
( )
Fig. 10-6. Computer programming and digitizer flow diagram (courtesy Spatial
Data Systems).
390
START
c }
OUTPUT COMMAND 1 18
INITIALIZE SCROLL
ENABLE X. Y
PROGRAMMING OUTPUT COMMAND
(200508)
RUN DIGITIZE
INCREMENT
LOAD Y1 =511
AY =2
YO =
YES
LOADX1 639
AX =80
X0 =
LOAD Y =
LOAD = 80
I
OUTPUT COMMAND
(200506)
RUN DIGITIZE
+ INCREMENT
end
C )
391
which indicate that this may be something which we can use
to advantage if it is refined and improved. The future of this
kind of system titilates the imagination. Smaller cameras,
better lighting methods, ruggedization of the equipment, and
good accurate algorithms might well bring about a whole new
world of usefulness for the robotic arm and robotic eye
systems.
More on this research is in the 1979 winter issue of
Robotics Today.
392
Fig. 10-7. The Eyecom electronics package with removable circuit cards (cour-
tesy Spatial Data Systems).
393
EYECOM
BUS
r
^.
EYECOM SCANNER
lens y
— i
9
Mil
(3
<
CO
CO
LU
cc
Q
"^
CAMERA Tl
< Q
<
i
COLORED TUBE 1
OBJECT SHADING
CORRECTOR
\
i
/RGB
.J
i
'
FILTERS '
VlDFOStGNAl
I
i >
HI -RES 5
DIGITIZER co
8 BITS x 640 g «
x480 £
VARIABLE
LOG UN
GAIN ANO
AMPUFIER 1
OFFSET
OPTIONAL <
i REAL-TIME
DIGITIZER i
8 BITS x 640
x 480 1
+
DIGITIZER CONTROL
PDP-11 A A
INTERFACE i
UNIBUS \\ >
CONTROLLER
COMMAND STATUS 1
4
MASTER CLOCK 4
AND SYNC
GENERATOF
xcounter|ycc)UNTEF I
\ / \
CULUM UHjIllZtM
Fig. 10-8. The Eyecom block diagram of the color system (courtesy Spatial Data
Systems).
394
V EXTENDED
REFRESH
~1
MEMORY
1
t
*
1
BLUE BLUE
REFRESH KlUIUHfc
.....
MEMORY
DISPLAY
"1
(
CABINET
RED i 1
—
I
1
RED
REFRESH -< > 1
PICTURE
»
g
1
COLOR
MEMORY i
DISPLAY 1
1 „
w B
I
l >
SCANNER 1
PICTURE l: _J
GREEN AND OVERLAY ^
GRAPHICS
REFRESH
MEMORY BW BW
PSEUCOCOLOR
;rn '-, PICTURE DISPLAY
COLOR
ALPHA
NUMERIC
LOOKUP
MEMORY TABLE AN
AND -• OVERLAY
CHARACTER
GENERATOR CURSOR
OVERLAY
DISPLAY
DISPLAY
X Y REGISTERS CONTROL
DIGITIZER AND
w MEMORY CONTRUL
JOYSTICK
1
iarT_
/
395
^SPOKEN^X
INPUT )
v COMMAND J
^ GRAMMAR
LINGUISTIC
ANALYSIS -^
VOCAB-
ULARY
\
LANGUAGE-
-^
MACHINE ^
INTERFACE
GRAMMAR OF
1 COMPUTER
PROCESSING LANGUAGE
OF COMMAND
(COMPUTER)
1
d "* P
MACHINE
RESPONSE
'
w,
^
\v r
396
modifier (GO NORTH) or a direct object (THROW KNIFE).
If the action implied an indirect object, as in this example, the
computer asked "TO OR AT WHAT?"
The computer looks to see that it "knows" the verb and
object. If not, it tells you it doesn't understand. Next it checks
to see the verb is applicable to the object. If not, it tells you so!
(CANT EAT HOUSE!) Finally it checks to see if you have the
object. You can't throw a knife you don't have! Since the first
simple programs, routines have been developed allowing the
computer to pick the important two words, plus indirect
object, from a complete English sentence.
Fig. 10-10. Texas Instruments Speak and Math machine (courtesy Texas In-
struments).
397
There are four primary significant models of language
and these are; the fixed sentence model, the finite states
model the syntactical model, and the transformational model.
These are described in detail in Syntactic Structures by
Chomsky, (Monton & Co, the Hague, Paris, 1957). The first
two are the most applicable to present voice recognition
technology.
In the fixed sentence model there is simply a list of all
the allowed sentences. One defines each sentence with a
mathematical term. If we develop
whole list of sentences
a
which are unique then when the computer receives an order it
essentially compares that order to that series of sentences
and chooses one which matches or most nearly matches the
command.
The finite states model is essentially what the adven-
tures use.
SOME CONSIDERATIONS OF
AUTOMATIC SPEECH RECOGNITION BY MACHINES
Once the meaning of a sentence has been decoded, there
the problem of identifying the speaker.
is still
398
There are about 40 basic phonemes in the English lan-
guage. There have been detailed studies to find out just what
identification characteristics there are in human speech, so
we can make machines do what we do, recognize who is
speaking.
A block diagram which shows a system for recognition of
human speech, based on pitch and spectral characteristics is
shown in Fig. 10-11. In a typical operation using this type
system for speech recognition, the speech is fed into the
spectrum analyzer and the pitch extractor as shown. The
output of these units issampled every 20 milliseconds,
digitized, and sent to the computer. The computer knows
what characteristics it is looking for because it has previously
stored patterns of speech.
The system shown in Fig. 10-11 uses some clues to
identify whom is speaking, or has spoken. One set of clues is
to use the speakers fundamental frequency— the average
pitch and the maximum and minimum of his speech tonal
range. A second set of clues may be extracted from the speech
spectrum, the measured value of the highest peaks of sound,
the ratio of the amplitude of the sound, to the valley amplitude
following the highest peak and the measurement of the peak
amplitudes, and where they occur in the spectrum. One man-
ner in which the information may be used is to form multi-
dimensional histograms. Then during the recognition process
the summed-squared-deviation between what is in the com-
puter memory and the sound now coming in through the
system can be compared. If the sound being evaluated has the
same or close to the minimum summed-squared-deviation of
the memorized pattern, then the computer decides that this is
the speaker whose histograms are being used as a reference.
Refer to Fig. 10-12.
Examine a block diagram of the method of speech iden-
tification that uses the automatic phoneme recognition con-
cept. This can be illustrated as shown in Fig. 10-13. This
block diagram is the one which would use the algorithm
illustrated in Fig. 10-12. Basically, this equipment would
make use of analog threshold-logic operating on the rectified
399
Bc
So:
=> W
CC N
d>
H o
O> -I
c
W< <D
0. Z
C/5< E
Q.
O
Ctt
$
Qi
<
E
o
E
CO
»—
O)
CO
O
o
n
E
o
"go
CO
c
a)
o
o
O
E
15
CD
a
CO
o
£
<
Ll
400
1 _. 1
c/>
"8
LU
O CC
o E
z LL E
< LU
rr
_l CD
o CL
O <
o CO E
LL
o X
CO o
LU LU s
CL LU
LU CC
CC OH L_ °-
CO
LL LL
LU Q Z*
> LU LU
H -> ^ QLU
<
_l O O
LL N
LU LL xz CL (J
nr
LU
m oo
LU o <
CO
c
H h- LU CC o
w
l
CO
CD
E
E
CD
c o
o CD O)
-C
03
Q_
c
U)
c <
co
CO
E
c z co v7 s
o O V/ C <
V-
'c <
o
o
>
LU
V/
^
LU
CD
si
S d
Q LU CO W S2z ztd
.c
o O LU N
< < _i LU OC
CD
CO LU
2 w > LU CC LU
CD
Q_ CO QH =>^
CO LU h- <
o 11
^ oo
II
< LU Q.
CO
LU CL
LL
XJ
uj b
oc cc Q CC CO O LL CO 0)
E
F LU LU
^CO 0)
sz _i en CO DO c
o
<o ^^ ^ Q_ o
3
CC CD Z> 3 >- LU -C
Q.
Z Z COH OC
<
LU
X
401
output of the filter banks to provide such features as spectral
energy, spectrum slopes, local maxima-minima, transitions,
sequences, and simultaneous occurances. All of these fea-
tures are used in speech recognition systems.
In the RCA equipment which is illustrated in the block
diagram, Fig. 10-13, the input is conversational speech and
tems, but their data rate of 64,000 bit per second is still
high.
402
<
LUy
St
lis—
- 1- /-><
AA AAA A A AA
CD
r
E
©
o
<
c
to
oo 9
CD
Q.
C/3
E
o
M
>-
<s
O
III 03
u CO
z cr
LU
cr LL
LU
DC CO
SSI 1c
III
LU -J
LL LL LU
Q- O < oo
LL
5
O
i
LUI LU
O < co co ll cl cr
AAA
LL CO
403
tt
E
<D
C
O W
^
-£ C
Q. (D
O -Q ^
O i=
S oc Cw
$ ~ (0
6>® o
LI S"^
< o
cc
CJ3
a.
00
1—
z
o
ggs
o CJ 5&occ
404
Z)
O
> CO
> £
LU O
I CD
-"J 1 -
o
CL
LU X PERIODIC
SOURCE
EXITATION
1Q.
-i o CO
< < F
CO CO
< CO X
z < > O
CL
cc z CO
CO
±
V CO CO
—
I
2 V+
N LU
O
O
X
X c
w
LU Q D +
OX Q ^ O O
CO X O
50
CO x
LU
H g
< 5
z ^5 LX
O 5 ljjQ
z >
o
LU
OOh
LX <
TJ
I
h>
<<<
H O9 Z QZ Dt
CL
XXO
LiJ
> < OX
i_
LU CD > X CO UJ
| CD
ofi c
1 =!_J Ij
LL
405
>o
DC Z
05
2 CO
LU <
Z
o
CO Q
CD <0 ^<
to
Q DC
9^
<<
LU Q_ LU DC
co
^KO
LU
1
CO
> LU DC LU
<^ kq2 LU ,\
z ZO
<H <>
_J
Li.
406
"Linear Predictive Coding produces speech quality
nearly comparable to either of these techniques, yet it
Fig. 10-17. The TMS5200 speech chip from Texas Instruments. FIFO stands for
first-in-first-out and relates to signals into the buffer.
407
program computes an optimal set of coefficients for the vocal
tract filter of the model electronics unit. The response of this
filter, then, when suitably excited, will closely resemble the
Fig. 10-18 Some possible uses, in addition to robotics, for the Tl speech chips
(courtesy Tl).
408
system. This makes robotic speech a reality. It uses very
littlepower and requires very little space. Figure 10-17
shows such a speech chip from TI. Of course, it has other uses
too, as shown in Fig. 10-18.
Let us hope that TI continues to experiment with speech
so that someday a single chip voice recognizer will be avail-
able. Because we like to give verbal commands,eventually we
will have robotic units which respond to this type of input. It
would be nice if they were cheap.
409
Ranging Systems
PRINCIPLES OF CIRCUIT
OPERATION POLAROID ULTRASONIC RANGE SYSTEM
Sound waves which are compressions and rarefactions of
the atmosphere, travel like the waves of the ocean at around
343 meters/second at 20 degrees centigrade. This converts
to 1125 feet per second, which is the figure most of us are
more familiar with. The speed of sound varies with humidity
and temperature but is relatively free from effects of altitude.
The signal fall off is the inverse square of the distance
411
return. We can then multiply the time and the speed of travel
and we come up with the round trip distance. Divide this by
two and we get the distance to the object.
Emission of a single tone may permit extraneous notes
at that pitch to enter the system. But a "chirp" signal, the
emission of several tones, can override this difficulty to some
extent, also "chirp" gives the detector of the system an ability
to look at several echoes at different frequencies, or just one
which may come from a secondary frequency in the "chirp"
pattern. If just one tone were used, there might not be an
echo, as the reflecting material might absorb the signal total-
ly! Polaroid uses a four tone "chirp" at frequencies of 60,57,
412
ULTRASONIC
RANGJNG
SYSTEM
r##//////////////.-
B
™ fy ^
..^
i
Fig. 11-1. The polaroid ultrasonic ranging kit includes two instrument-grade
Polaroid transducers, a modified Polaroid ultrasonic circuit board, two Polaroid
Polapulse 6-voit batteries, a battery holder, a wiring assembly and a technical
manual (courtesy Polaroid).
413
voice synthesizer for speech, and a multitude of sensor de-
vices to provide information as to where it is, what it is
414
1*1
lis
-O O)"t0
•
o "°
® S
CM c iS
o>*= 2 to
415
system of Polaroid might be useful. With Ultrasonics your
robot would not have to strike anything to get a signal that it
was approaching something, or getting close enough to stop
moving or to turn away!
MESOTECH SYSTEMS LTD of Vancouver, B.C.
makes a mode-952 Bottom-Scan-Profiling-Sonar with some
features that might be useful to think about in connection with
robotics applications. Of course the transmission of sound in
water is somewhat different than the transmission of sound
through the air, especially with regard to the frequencies
used. We know that some frequencies propagate very well
through water and others do not. We have no correlation for
the propagation of these sound frequencies through air versus
other frequencies which might be used. One might have to do
some experimentation in this area. In any event, the sonar
system under discussion is one which, from a single location,
records a profile of water depths along a particular line of
bearing. By changing the orientation of the transducer, pro-
files of several lines can be made.
This transmitter unit, the sonar head, transmits a narrow
beam, high frequency acoustic pulse. The narrow beam is
swept through a vertical plane, and, of course, the returning
echoes are timed which gives the distance to the reflecting
surface, which, in this case, is the ocean, channel, or harbor
bottom surface. The complete system consists of the sonar
head and the recorder case (which charts the bottom profile)
and a 100-foot cable which connects the two units. Inside the
sonar head are the acoustic transducer and the stepping motor
which sweeps it. There is also an inclinometer which senses
ships rolling, and the sonar transmitter and receiver circuitry.
The beam width in this unit is only 1.5 degrees, but its
operating frequency is 360 kHz. It ranges to 160 meters with
an accuracy of plus or minus .5 percent. Its angle measure-
ment resolution is plus or minus 0.75 degree.
What is very interesting to us in robotics is the narrow
beam concept of this unit. If such an acoustic device could be
used in air, on a mobile robot, one could have a device which
could accurately measure objects around it, and distances to
them. The use of a stepping motor for the sweep also means
416
that a microprocessor memory unit would be able to deter-
mine exactly in what direction the transducer head was point-
ing. In essence, we might obtain good or better accuracy than
with a radar unit.
Insome applications the Mesotech type unit may be used
to keep track of underwater robots that are free to move in
their environment, yet are under observation and control of a
parent ship on the surface above. No cables are necessary to
send control signals. Coded acoustic pulses can convey this
information, as well as give range and bearing from the
mother ship's reference position. The TV signals, however,
do at present, require cables. It could be a problem knowing
where your underwater robot was, and also communicating
with it, unless you have very good sonar systems in use.
There are some frequencies which tend to "channel" in water
and go a long way with a reasonable amount of power. "Win-
dows" these frequencies are called. It is safe to assume that
360 kHz is such a sonic window.
417
MOTOR
DRIVE
SYSTEM
MIRROR
v PHOTO
LIGHT \MIRROR DETECTOR
1
PRISM j>
If— SIGNAL
MIRROR
TOP VIEW
418
Numerically
Controlled
Robotic Machines
419
reader. This gives the commands to the computer which, in
turn, controls the stepping motors, or the closed loop ser-
vomechanism, to make the machine elements do what the
instructions say it should do.
The way the commands
are spaced is by using a tab key
on the tape perforating keyboard. This, like a typewriter tab
key will cause the instructions to line up properly by forming
a special kind of "end of command block" code which lets the
computer know that another set of movements will be the
next block's numerical grouping. After the machine drills the
420
NUMBER HOLES (8ARE USED)
"ARE PUNCHED IN TAPE
26
2 (1ST POWER) = 4
22 + 2 1 =6
2 (1ST POWER) =2
ZERO
23 =8
23 +2 2
TAPE PULLING
SPROCKET HOLES"
421
A reference on NC machines which might be of interest
to you is NUMERICAL CONTROL PART PROGRAM-
MING written by James J. Childs and published by Industrial
Press Inc.
422
00
Ideas and
Discussions 13
4k
LAWS
In Japan, an attempt to bomb the home of a syndicate
leader with a radio controlled helicopter, toy variety, was
foiledby the police. We may have to have some controlling
laws governing the functions and operations of hobby robots
as they increase in capability.
423
might say, then, that we build hobby robots to learn, and to
fascinate ourselves and our friends.
Many persons and companies as well as scientific in-
stitutions are making, or developing kits for, or are inves-
tigating the use of, hobby type robots. This type robot is
does this well and for long periods of time. Tasks as demand-
ing as making printed circuits and inserting parts on such
circuit boards, something a human tires of very quickly, to the
handling of thousands of pounds of equipment or materials in
various plants. The hobby robot, on the other hand, is just for
the pleasure or education, or satisfaction of the creator. Some
types have been constructed just to investigate how one
far
can go in putting some kind of intelligence into a machine of
some type. That, in turn, leads to much study and research.
But for the many units which simply run around, or draw lines
on something under computerized command it seems the
satisfaction is simply to have built such a machine. It is our
belief that with technology at the current state of the art that it
is, even hobby robots should do something useful.
One robot which has been built and named Midnight
Special, uses various types of light sensors to get information
about paths through mazes. The information he derives is
sent to a computer where it is stored and analyzed. When the
Midnight Special has made one trip through such a maze it
then can repeat its path without any deviations or problems or
trial and error efforts. This kind of operation is said to be one
in which a robot has been given some kind of intelligence.
Certainly, it is a system in which the robot learns by its
WHO?
The robot builder comes from a diversified segment of
our population. From the college professor to the high school
science major. We
found it interesting that a former college
Physics professor found pleasure constructing hobby type
robots. He said that his interest is in constantly trying to
make his robot do more things, and do them more intelli-
424
gently. That brings to mind the giant robot of Benjamin Skora
which is able (so they say) to vacuum the carpet, walk the dog,
serve drinks to friends, and answer the door!
There will be more and more hobby robot kits available
as time passes. They will be able to do more and more things,
and will give their constructors hours of fun and pleasure
putting them together, and watching them work. Like the
radio controlled model airplane activity, the stage of hobby
robot development is rapidly passing from the "built it all,
figure it out, put it together, make it work" stage into the level
where anyone can simply buy a kit and have it do almost
anything the human mind can conceive of it doing.
MAGNETIC CONTROL
To make such a robot function around the home,it might
425
V^
co d
Z h-
<r cc
DC LU O LU
HI > E ° CO
> o O 2 LL.
z
LU cc 2 o
O ^~F 1 ^ xz
fc. ^t-
LU CJ
co 85
z DC > -I it*
O -v
< J- LU<
dc 5 15 52
F X a§
CC CO O LU
LU q.
t 2 CO
DC
O
I? Q.O H<ao
O O LU
r~^ 50 DC
U5
3 CC
Q LU
o*
5 2
CO
DC
is
< LL
426
THE MOUNTAIN HARDWARE SUPERTALKER: SD200
A talking circuit which was designed to be used with the
Apple computing system is illustrated in Fig. 13-2. This
system memorizes certain phrases and words and can use the
memorized information to respond vocally to persons, under
various conditions. This unit works with the Apple II Com-
puter. It digitizes human speech and stores it, then it can play
back this digitized speech through a speaker. The voice sys-
tem consists of a card which plugs into a peripheral slot on the
Apple II, and the mike, circuit board, and speaker shown.
There is an extensive software package which permits the
user to interactively develop a phrase diskette which may
contain many tables of phrases. Each table can contain several
words, phrases or complete sentences, which the computer
can select.
Here is how the system operates. The Supertalker board
Fig. 13-2, has electronic circuits which convert the analog
Fig. 13-2. The Mountain Hardware Supertalker system for the Apple computer
(courtesy Mountain Hardware).
427
mike signals into a digital pattern which can be saved in
memory units. The board's circuits accept these digital pat-
terns and transform them back into analog signals for use by a
loud speaker.
The circuit board has an on-board ROM that is a 256 byte
type. This ROM is accessible from BASIC by a call instruc-
tion to address CNOO (Hex) where N equals the slot number
that the board is in. Calling this address will place you in the
talk mode, and a call to CN03 (Hex) is for the listen mode.
3 REM
5 REM MOUNTAIN HARDWARE'S
7 REM SLIPERTALKER DEMO PROGRAM
9 REM
18 HI MEM: 4095
20 GOSUB 25800: REM CALL AUTO SLOT FINDER
30 PP(2) = 16: REM SET STARTING PAGE OF PHRASE TABLE
40 PP(3) = 127: REM SET ENDING PAGE OF PHRASE TABLE
41 PP(4) = 3: REM SET VOLUME <l-4>
42 PP(5) = 4: REM SET SAMPLE RAT E (1-4)
50 GOSUB 25010: REM INITIALIZE SUPERTALKER WITH PP ARRAY
108 CALL - 936: PRINT
110 PRINT "HIT RETURN KEY WHEN YOU ARE"
120 PRINT "READY TO BEGIN RECORDING. "
130 PRINT
140 PRINT "HIT RETURN KEY A SECOND TIME"
150 PRINT "WHEN YOU ARE DONE RECORDING "
160 INPUT A*: REM WAIT FOR FIRST RETURN KEY
170 P = 1 GOSUB 25028 REM CALL LISTEN SUBROUTINE
180 P = 1: GOSUB 25020: REM CALL TALK SUBROUTINE
190 GOTO 100
25000 REM TALKER AUTO SLOT FINDER AND ADDR CALCULATOR
25061 PP(1) = l:Pi = - 16068
25862 IF PEEK (PI - 1) = 8 flND PEEK (PI -f 3) = 3 THEN GOTO 25884
25803 PP(1) = PP(1) + 1:P1 = PI + 256: IF PP(1) < 8 THEN GOTO 25602
25004 IF PP(1) = 8 THEN PRINT "SUPER TALKER IS NOT IN THE APPLE II" IF PP(1) = 8 THEN
GOTO 25069
25065 P3 = 256 :P4 = PP(2) IF PP(2) < 128 THEN
: GOTO 25687
25886 P3 = - 256 P4 = 256 - PP(2)
25887 P5 = P3 * P4P2 = - 16256 + 16 * PP(1)
25083 RETURN
25010 REM TABLE INITIALIZATION (ASSUME PP ARRAY IS SET UP)
25011 P3 = 256 :P4 = PP(2) IF PP(2) < 128 THEN GOTO 25013
25012 P3 = - 256 :P4 = 256 - PP(2)
25013 P5 = P3 * P4: POKE P5,PP(4) POKE P5 1PP(5)
25614 POKE P5 + 3, PP(3): POKE P5 + 4,134: POKE P5 + 5, PP(2)
25815 RETURN
25020 REM TALK ROUTINE
25621 POKE 1528- PP(1): POKE 1656, PF(1) * 16
25024 POKE 1144 + PP(1),P - 1: POKE 1272 PP(1),PP<2) POKE 1406 + PP(1), PEEK (P5
+ 3) + 1
25625 POKE 1784,(4 - PEEK (P5 + 1)) * 16 + <4 - PEEK (P5))
25627 CALL - 16384 + PP'l) * 256
25028 RETURN
25036 REM LISTEN ROUTINE
25031 POKE 1528, PP(1): POKE 1656, PP(1) * 16
25834 POKE 1144 + PP<1>, P - 1: POKE 1272 + PP(1),PP(2): POKE 1460 + PP(1), PEEK (P5
+ 3) +1: POKE P2 + 3, (4 - PEEK (P5 + 1)) * 16
25836 CALL - 16384 + PP(1) * 256 + 3
•L5037 RETURN
428
CONFIGURATION
&
CONFIRMATION
*l RE-BOOT DOS
J
A.B.C.D.F.I.L.M,
iCTRL-C/*- O.R.T.or V
COMMANDS
D,L.M.R.S.T.orV
COMMANDS
RE-BOOT DOS
I CTRL-E.CTRL-S
COMMANDS
CTRL-T
icTRL-cV COMMAND
<c?
429
CHECKING ERRORS IN DATA
TRANSMISSION AND SOME ROBOTIC-SYSTEM PROBLEMS
Among the professionals, there are several methods by
which data information can be checked and the capability of a
system to transmit the bits accurately and completely is
determined. One of these methods is to use a parity bit for
each word or character and inspect this. Parity is a system in
which we add a pulse to a coded group in such a way that for
even parity, the sum of all the l's will be an even number, and
for odd parity, the sum of all l's will be an odd number. In the
transmission of an even parity code, those bytes which have
an even number of l's are not changed. In effect, a zero is
the number of l's in the byte is odd, then a 1 is added to the left
to make the numerical total of l's even. A byte with the wrong
number of l's has an error in it.
Other writers, in discussing the checking of data in
transmission systems have indicated that a cyclic redundancy
check might be used. This means, essentially, that you re-
transmit the same information several times and if it all
comes out the same, then the system has no errors— at least
for that transmission period.Checks using special messages,
such as the "Quick Brown Fox" which require transmission of
characters representing all keyboard letters and numbers
might be used. If, on the receiving end, one knows what the
sequence of transmission is for this kind of special message,
then errors in the transmission system can easily be noted.
Finding the cause may prove difficult.
430
Checking a robotics system which involves mechanical
movements, and computer control, and data and sensor
transmission systems may be done using a test program. This
program feeds data into the computing section to cause cer-
tain specified movements of the robot's arm in accord with the
range of operations of which the robot is capable. If the robot
is a welder or a paint sprayer, or such, then, of course, the test
design or both show it should respond to, then one says that
this part of the robot is working as it should. The next step is
to move one element back toward the front-end or input of the
system. When it is checked, of course the final element is also
checked because we use the output of the robot as an indica-
tion of how well it is responding to test-input signals into the
next-to-last unit. If there is an error or the robot does not do
what it is supposed to do, and we know that the output
element is working correctly because we have just checked it
out, then we can say that the next-to-the-last unit is malfunc-
tioning. We then check it out stage-by-stage or step-by-step
until we find out what is wrong.
And so we move slowly back toward the input end of the
system. At the input end we might have to use a conveyor belt
to test input sensors, or devise other tests which simulate
431
actual operational inputs of the same type that the input
actually gets. We must test the input sensor system or input
signal system just as completely as we have checked all
intervening elements or system blocks. Finally, we might run
a systems check. This is a closed loop test which actually is
the robotic system in operation, doing what it is supposed to
do.
In a robotics system, then, you'll check the computer
section for accuracy and correct operation, you'll check the
software to see that it was correctly prepared and inserted,
you'll check the transmission system (cables, lines, and
whatever) to see that the signals actually get to the operating
units. You'll check the control amplifiers, and the motors and
the hydraulics and the pneumatics and whatever. All this in a
step-by-step procedure to insure that you actually will find
the problem area.
Ifsystem develops more than one malfunction simul-
a
taneously, then, unless you use the open loop test concept,
you might not ever find the real causes of trouble! It has also
been said by those who know about these things that some-
times two malfunctions make a no malfunctioning condition
exist. The two malfunctions tend to cancel one another. This
may happen if one depends too much on just a closed loop type
of test.
Testing of hobby robots is performed much in the same
manner. Usually you start at one end of the system, say the
mobility end, the drive motors and gearing and power and
such, and move back toward the input end of the system,
checking as you go, to make sure everything is operating
correctly. Lots of times this prevents troubles and helps you
find and correct trouble spots which might not have been
noticed, unless you check for correct operation as you pro-
ceeded backward, toward the input end of the system. It
sometimes is very difficult to find trouble spots in any kind of
system like this if you wait till you have it all built, and
put-together, and then try to make it operate as it should. If it
432
might not be exactly Every solder joint, every cable
right.
433
Fig. 1 3-5. The Ohio Scientific's computer circuit board (courtesy Ohio Scientific).
these are the memory mapped system (Fig. 13-6) and the
second is the port system (Fig. 13-7).
you use the memory map technique then you must
If
434
o
CO
x:
CO
o
03
cc
>»
CO
a>
r
3
o
o
op
<h
DC
A c
o
o
o
Q.
<r>
o
o
66 6 66666666 6 66 66666 CL
52 < < < < < Q.
03
E
435
One example of control of something external with the
TRS-80 is to turn on a coffee pot. A sample program is shown
below. At the same time let's look at the circuit for control of
this operation.
PLANNING A ROBOT
The first step is to write down what you want the
machine to do. This can take a multitude of thoughts and
436
O 3
Q. CO
^V^l
7K
6 6 h MMAAA
n iom « n
«
<<<<<<< --
437
GARBAGE ON / DISASSEMBLE UNIT
SCREEN AT / CONNECT VIDEO AND POWER
POWER ON/-> D(n pLUGS
/ PRESS ON POWER SWITCH
RAM ERRORS
CPU PROBLEMS''
Fig. 13-8. Section isolation flowchart for TRS-80 (courtesy of Radio Shack).
438
CPU
CLK SOURCE
BAD
SOLDER
SHORT''
CHECK SWITCH
S-2 AND
RESET LOGIC
POWER-UP
CLEAR LOGIC
DEFECTIVE
' ACTIVE ^
^ MRCQ? YES
MAY NOT BE
CPU PROBLEM \t
SECTION ISOLATE YES
REPLACE Z40
(CPU)
\f
CAS /RAS
LOGIC
439
controlled may be vastly different depending upon what it is
to do.
You will immediately add that the appearance of the
machine will, or might be, governed by what it is to do, and
you would be exactly right. For entertainment purposes we
might want a robot which looks manlike, or girl-like, but for
job purposes, such as taking objects from one place to
another, the robot might better resemble a small car with a
flat bed on it and have somewhat different arms which load
the baseplate (and robot). The steering is just like any au-
tomobile steering, or toy car or truck, using a turning motion
for both front wheels which are linked together. This will
work, but the robot may have some problems because the
turning radius of the base is large. It is a stable base, however,
and can carry lots of weight as we know.
At B is a diagram showing two independent motors
driving two wheels, and use of small idler wheels, front and
rear, to give the platform balance. This type system is com-
440
441
monly used when you have stepping motors for drive power.
If you step the drive motors at the same speed the base goes
442
the larger the wheel diameter the easier it is for the wheel to
get over small rocks, and thick grass, and earth depressions
and indentations.
But there is a torque penalty as you increase the size of
the wheel which is driven. In Fig. 13-11 we show this rela-
tionship, again on a doodling basis. In A you see a large wheel
with a given size gear drive. Notice that the forces retarding
motion will be the resistance or opposing force (torque) times
the lever arm to the wheel rim from its axle. Now the motor
torque must, at least, equal this value, and here its lever arm
is much smaller, so where do we get the higher number to
443
FORCE LEVER ARM
MOTION DIRECTION
OPPOSING FORCE
(TORQUE)
OPPOSING FORCE
LENER ARM
MOTION DIRECTION
o
Fig. 13-11. Torque versus wheel size considerations for robots.
444
keyboard which you can connect to the robot via a cable, and
through which you can adjust its memory. By adjust we mean
program, erase and re-program, as you make command
changes, and put in directions.
We have examined how a robot is taught in an industrial
application. He is "programmed" through certain maneuvers
using a small hand-held controller. The electronic circuits are
so arranged that as long as the arm is in movement, the
computer does not remember what it is doing, but when the
arm stops for any period of time, the computer makes a note of
this. Later, when the arm is under autonomous computer
control, the computer sends the arm to the various end points
precisely, quickly, and directly and the arm path may not be
the oneyou used to get it there. It might be possible to easily
program a hobby robot much in the same manner but using a
radio-control system as the hand-held controller. Suppose we
consider that in your robot you will have a radio control
receiver whose output goes to a computer and various de-
vices to be controlled, Radio-control systems such as are
used in model airplanes can be obtained with up to 8 or so
channels. If you need more than that, use two systems,
operating on different radio frequencies.
Of course you might also use a hand-held controller with
lots of push buttons, attached to a cable system which can
plug-into the robot's body, and you can follow the robot as you
command it to do whatever you want it to do. The signals
could be recorded on some kind of tape, or placed in the
memory of a computing section or whatever and then played
back later.
445
m
444
447
and produce a logic output when such words are spoken to it.
Through the courtesy of Radio Shack we show the block
diagram of the Voxbox in Fig. 13-14.
448
tic
111
CO 1-
=> =>
m o.
- o
< c
<2
, L 1
CO CO
DC CC
LU LU
C0> co>
=> DC
CD Q ^ Z> DC
CD Q
i k i i
Z
LiJ
Q O DOz
UJ
§S
_l LU
lg
-I LU
& LU
5
•"
S=
»-
5 LU
< O <Q
i i A
O o
DC
z z
LU
CO DC CO
o to^ LU
< OS
ccO
o
<
og
ccO
DC
LU
DC
LU o
> O LU > O LU CO
< H
DC < DC 1-
LU LU LU LU c/>
NQ NQ
' i ' ' '
o
: t CO
CC
Q Q o
z Z CO^
< < rr CO±
CO CE 03 £ LUQ <0
- DCO
o d QO
Q LU r
I LL _l LU
< Q o
o
ii i, 4 k
E
to
CO
CO co
LU T3
DC
Q CO ^O
Q. Q 3 O
5 < CD
LU < -Q
X
5 Q. o
X
o
>
T
i r~
\-
rt
LU
¥ CO
5
Ll
449
review of the whole operation, down to the most minute
detail, of the business, or plant, or industry wherein the use of
industrial robots is being considered. We are in mind of a
system of plan evaluation or job operation planning called
PERT (Program Review and Analysis Techniques) or, as it is
called by some, the critical path planning approach to-
whatever job or task or operation is in mind. Can it help show
the need for automation or robotics?
ing event, to the end event, is the path known as the critical
450
Fig. 13-15. Some pert or critical path definitions.
path. It isa trouble area for some reason. It is stated that this
critical path is the one which requires the most time for any
process or object to get from the initial event to the end event.
Also, it is stated that if there is any further delay along this
critical path, then the final event wiil be delayed by whatever
time the delay on the critical path assumes.
So, how do we relate this to robotics in an industrial
sense? If we consider an example where lots of parts must
451
for the parts movement, into a non-critical path and every-
thing is accomplished in the required time and lots of profit
results!
There are many approaches to consider when trying to
make a decision as to whether or not to robotize some, or all,
of your operations. There are many things to consider. For
example, you must always have in mind what will happen if a
machine fails. No one likes to think of this, but it can and does
happen. We are reminded of a situation wherein some robots
failed because the human attendant did not keep the hydraulic
oil tank filled properly, nor did he (she) report leaks which had
452
alarm system. We have mentioned this in some previous
pages while discussing industrial robots. The alarm can be of
several levels. One, a warning that trouble is imminent, and
where it might occur, second, that trouble is happening and
where and why (sensors can determine this in many cases),
and what should be done about it: a rerouting, stopping all
machines, or whatever is appropriate, even to the extent of
human intervention and human substitution for the machine
until the robot is fixed.
453
senses and a somewhat low intelligence which is not yet able
to comprehend and really handle the information which is
presented by the various types of sensors. But that even so
they are most valuable in industry. It is not uncommon for
industrialists to recover their capital investment in robots in
somewhat under three years.
It has been pointed out that robots need something
better than the type of grippers which are now common. But
these improvements are under research and development,
especially in Japan and in Russia. Robots which have fingers
that can handle objects as delicate as an egg without any
danger of rupture, and quickly adapt to different and varied
object forms have been made. It has been stated in various
studies that one of the most valuable ways a robot can im-
prove plant production is by speeding materials through a
plant. It was found that materials are worked on only some 5%
of the time, and the rest of the time that material is lying idle
or being transferred from one place to another. When robots
some very
are specifically designed for a task, they can offer
remarkable work. For example, the Fiat Robogate, installed
in its Rivolta and Cassino factories is said to be able to
accomplish all the required welds on a car body in less than
one minute. There are more than 50 robots on each welding
bay. The precision of each job is the same so that quality
control problems are reduced, and should improvements be
needed, a slight change to the control program affects the
desired result.
The use on an assembly line seems to be
of robots
inevitable and no matterwhat the task, it now seems possible
that the job can be done by such automated machines. The
human system seems to break down when subjected to the
constant boredom of doing the same task over, hour after
hour, day after day. It was found that in Silicon Valley of
California where chips or integrated circuits are developed
and made, that this type boredom has led to such advanced
human problems as drug usage. That, of course means profit
loss to management in that quality is sacrificed, and integrity
of the firm or plant is jeopardized. That means a loss of buyer
confidence. Again, here, in this type environment and task
454
situation the robot type machine offers no such problem. It
does what it is programmed to do (what it has been taught)
endlessly, hours on end, without error, loss of quality, or
complaint.
As robotics components are developed and improved,
such as thenew TV cameras-on-a-chip developed by Hughes
AircraftCompany using the new advanced charge-coupled
technology which we have discussed somewhat in earlier
pages on robotic eyes, the ability of the robot to do more
things better will be almost beyond imagination. These
Hughes Omneyes, as they are called, consist of a chip of some
1,024 light-sensing elements for one type application, and
another chip with some 10,000 picture elements for higher
resolution. It is envisioned that the ultimate use of these
robotic eyes will be on the assembly lines to help the
machines size, orient and identify parts and objects. Because
of their small size and low power requirements, they can be
used close-up if necessary on smaller and smaller type ob-
jects,perhaps ultimately, even down to integrated circuits
themselves.
JOBS
When one considers the use of robots in a factory or plant
the questions and job-loss fear of employees, and Manage-
ment's commitment to the workers, becomes very real situa-
tions to deal with. Some questions asked by workers are,
"Will robots in factories eliminate jobs?" The answer, of
course is, yes. The robots will eliminate a majority of the old,
dull, hazardous, and non-progressive jobs. But, if one is wil-
ling to learn and adapt to a new world of robotics, then there
are opportunities which one should consider. The following
comes from a study conducted on Careers in Robotized Fac-
tories.
Robots need repair sooner or later. Robot repairmen will
be demand and will be very well paid. These personnel
in high
will also check and test the robots to insure maximum per-
formance with a minimum of breakdown. There will be robot
trainers, i.e., those who program the robots, and that will be a
455
programming will be learned at special schools provided by
the user plant or the robot manufacturer. There will be those
who will be responsible for moving the robots to desired
workplaces if the robots are the fixed location types. These
persons will coordinate the robot's work load, and will see to
it that they are productive at their new line locations. Of
course there will be more and more need for robot designers.
These persons who have engineering backgrounds in control
and electronics and mechanical engineering and physics will
obtain very high salaries and find their work challenging and
very productive. Industrial robot use and plant analysis may
be another rewarding career field in which people, sociologi-
cal problems and machinery are all considered together. It is
going to be a long, long time before robots will be able to
repair and adjust and teach themselves much more than very
elementary operations. So they will need lots of care, adjust-
ment and help.
The respected Wall Street Journal has reported that
some factories in which robots are built by other robotic
machines without human control, have been under construc-
tion by some Japanese electronics firms. This has been the
beginning of a deep seated fear of job loss among many people
who are not knowledgeable about such machines. It is en-
tirely feasible to specify, down to the smallest detail, the
parts and layouts and connections of those parts, to make up a
robot, and then to design machines which will do the assem-
bly work so that at the end of the assembly line, a so called
robot will appear, ready to go to work.
Are robots on the increase in industry? Ransberg and
Renault have formed a venture to make and deliver industrial
robots with each system selling at $100,000 to $200,000 each.
It is said that they have invested some 15 million dollars into
this venture. The chairman Ransburg Corp. (France)
of the
has estimated that the U.S. market for industrial robots is
expected to be in the vicinity of $500 million dollars annually
by 1985.
If there is a process in a factory or plant or industrial
complex which cannot be robotized, it is just because no one
456
has examined it yet for that purpose. The many fine robotics
companies are leaping ahead, year after year, with advanced
and improved designs as the technological explosion con-
tinues, and there seems to be no end in sight. It may well be
that in the not too distance future, factories and plants and
industrial complexes and shops and stores and assembly
places and whatever will have to consider using robots in self
defense— in self defense of profits, that is.
457
Fig. 13-16. Votrax, a voice system produced by Ohio Scientific in their CA-14A
system.
ules into a convenient electric outlet, and run the cord from
458
C/> CO
— t
1
0.1
~S
T >»
O OT
o g
.
N£§
.1 O
en E z
£ 20
459
the master box to the outlet in your remote command loca-
tion.You plug-in the devices you wish to control into the
modules receptacles and you are ready to operate. By the
way, don't do as some do, they plug in lights but forget to turn
the switch on. When the signal is sent from the remote
location to energize that light (or whatever), it won't work,
because its own switch is off. There is a unit made that
interfaces this system to a TRS-80.
In this robotic home concept we must not forget the
possibility of remote control, from some pleasant beach re-
sort to our homes back in our own home town. Yes, it is
possible and feasible when we use a device called a telephone
interface such as is shown in Fig. 13-18.
Looks complex, doesn't it. It is. But that is no problem to
460
Fig. 13-18. CA-15 Universal Telephone Interface (courtesy Ohio Scientific).
461
(c) Check the availability of the parts needed for each
block of your block diagram. If some parts are not available
then improvise, invent, construct, or change the system in
that block.
(d) Construct breadboards of your circuits and test them,
adjust them and modify them until you get the necessary and
correct operation from each board reliably and repeatably.
(e) Construct models (miniatures) of all moving, working
parts. Check for construction difficulties, needed materials,
and make such changes as necessary to accomplish the end
objective for each unit. Test and adjust each unit.
(f) Construct a full size working model of the robot-
leaving room physically for changes and modifications—
being sure you have easy access to parts and test ports. Check
the operation of each unit and the complete assembly.
(g) Construct the final package which has the desired
shape, size, and appearance you want. Test and adjust it.
Operate it, or let it operate itself. Check for faults and reliabil-
ity. Study it for improvements. Then, have fun!
462
Index
ASEA 283
robot, description of,
Abilities, robot, 4 ASEA robot,programming the, 317
Accuracy, 18, 30, 249 ASEA robot control, 313
Accuracy of arm, 260 ASEA robot operation, 8, 300
Actuator, rotary hydraulic, 350 Assembly line, use of robots on, 27
Adaptive control, 4, 131, 134 STEP command, 250, 251
AHMAD robot, 71 Attractiveness of robots, physical, 60
Airplane servos, 89, 97 Automatic system, point-to-point, 151
Algorithms, 3, 401 Automation, 56
American Robot Corp., 6 Axes of arm, setting position of, 156
Android, definition of, 45
B
Android, domestic, 45 Base coordinates, 308
Android robots, 28
Base structure, inside the, 82
Arm, correcting position of, 159 BASIC commands, 249, 252
Arm, flexibility of, 193 BASIC language, 139, 248
Arm, powering the, 201 Bellows for power, 214
ARMBASIC language, 248 Benefits in using robots, 28
ARMBASIC pick-and-place Binary code, 263
program, 255 BIOT, 62
Arm compared to human arm, Boole, George, 126
robotic, 191
Boolean, algebra, 126
Arm design, 240
Branch, interrupt, 129
Arm details, 113
Branch, offset, 129
Arm dynamics, 10
Branch action routine,
Arm mobility, 191
See subroutine; industrial
Arm motion, recording of, 157
robot, general purpose, 122
Arm movements, examination of, 200
Branching operations, 129
Arm operation, 240
Arms, fixed location, 24 C
Artificial intelligence, 12 Camera construction, 375
ASEA robot, 280 Camera operation, 375
463
Camera-robot interface, 368 Controls, operational, 153
Cams, use of, 68 Controls, review, 183
Cartesian coordinate program, 258 Controls in programming, 152
Cassette connectors, 1 55 Control switches, 313
Central processing unit (CPU), 40 Control system, 59, 365
Chain drive system, 86 Control system, computerized, 113
Chef, robot, 52 Control unit, teaching, 117
Cincinnati Milacron T Coordinate determination, vision, 362
Industrial Robot, 112, 116 Coordinates, base, 308
Cincinnati Milacron T robot, 347 Coordinates, rectilinear, 33
Circuit, conditions of, 128 Coordinate system, 240
Circuit, talking, 427 Coordination of arm parts, 115
Circuit operation, 41 Coordination of robots in groups, 27
Circuitry, 98 Costs, 28, 115, 448
Closed loop servosystem, 219, 227 CPU, 40
Command, 122 path approach, 450
Critical
464
Error elimination, 230 H
Errors, checking, 430 Hand, robot, 194
Experimentation, robots for, 239 Hand compared to
External changes, adjusting to, 131 human hand, robot, 224
Eye, matrix, 362 Hardware design 0, 433
EyeCom digitizer flow operation, 389 HHTU connectors, 155
EyeCom System, 382 High-level language, 139
Eye control, 365 Hobby robots, 423
Eyes, robotic, 356, 361 See also vis-
;
Home, computerized, 457
ion Household robots, 45
Eyes attached to grippers, 389 Hughes Aircraft Industry, 62
Hughes Mobot, 62
Human actions, emulating, 10
Hydraulic drive system, 207
Hydraulic power, 203
Failsafe systems, 58
Fatigue, robotic, 28
I
Feature extraction, 377
Feedback, 5, 30, 146, 223, 227, 265, Image recognition, 379
301,248 Improvements needed, 454
Industrial applications, 6
Feedback measurement, 31
Industrial robot, multiarmed, 142
Feedback servomechanisms, 134
Industrial robots, improving, 353
Fiber-optic sensors, 339
Industry, video-inspection
Finger considerations, 331
Fingers, robot, 194
system for, 374
Information, conveying, 264
arm, 193
Flexibility of robot
Inspect-reject-accept mode, 385
FORTRAN language, 139, 140
Instruction codes, 151
Fourier Transformers, 134
list of, 183
Freedom, degrees of, 196, 200, 242
Instructions, entering, 160
Function command
Intelligence, artificial, 12
value meaning, 184
Intelligence, delay, 24
Function controls, 160
Future of robots, 448
Intelligence, providing robots with, 23
Intelligence capacity, machine, 16
Interfacing units, 368
G International robot developments, 453
GARCAN control system, 106 Interrupt branch, 129
Interrupt signals, 131
GARCAN electronics, operation of, 96
Gear system, 86
J
Greek letters, 318
Gr pper, robot, 194 Jerry Rebman Electronics Co., 73
465
Least Squares Optimization, Multiarmed robot, 142
Wiener's, 134 Multiloop servosystem, 229
Light beam, infrared, 65 Multiplexing, 264
Limit switches, 145, 198 Multiplexing, time division, 265
Linearity, 233
Linear Predictive Coding (LPC), 40
Linkage motion, 296 NC machines, future of, 421
LISP language, 142 Next position number request, 158
Lord Company, 42 Noise, 32
LPC, 40 Nuclear inspection, robot use for, 62
Null, 232
Null shift, 232
Machine language, 13 Numeric control operations, 420
Machines, 1
466
Programming, industrial robot Robots in residential uses, 457
Versatran, 151 Robot system problems, 430
Programming, methods of, 139 Robot uses, 14, 62
Programming, mobile robot, 135 Robot uses, android, 49
Programming, path, 125
Programming procedure,
five-step, 152 Safety, 36
Programming robots, 13 Sanyo autofocus system, 417
Programming robots for Schematic symbols, 195
selected chores, 23 Search function, 131
Programming rules, 152 Search function, robot, 130
Programming the Mini-Mover 5, 253 Section point, 22
Program number request, 154 Security, robot use for, 63
Program preparation, 152 Security needs, home, 457
Programs for Versatran robot, 146 Selsyn-type power system, 203
Programs, simple, 186 Sensor, tactile, 131
Program teach panel, 152 Sensors, 5, 121, 199, 265
Pulse code modulation, 266, 269 Sensors, fiber-optic, 339
Sensors, fixed, 65
Sensors, gripper, 339
Sensors, position, 342
Quasar Industries, 45, 49, 59, 62 Sensors for diagnostics, 25
Series servomechanisms, 221
Servo amplifier, 305
Servo Driver unit
Radar, 67, 69, 71 electronics schematics, 237
Radio-controlled robot, Servomechanism considerations, 218
See GARCAN robot Servomechanism definitions, 218
Ranging system, 411 Servomechanisms, 32
Ranging system using light, 417 Servosystems, 219, 227, 229, 301
Receiver, infrared, 65 Shoulder joint, robot's, 192
Recognizer, the, 365 Signal, 122
33
Rectilinear coordinates, Signals, interrupt, 131
Rectilinear motion,33 Signal transference in
Reference point, 122 ASEA system, 310
Remote control, 425 Size of robots, 47
Response, optimum, 135 Sociology of robot use, 275
Response time, 15 Software, 110, 146
Robot, definition of, 42, 46 Software design, 433
Robot, derivation of, 2 Solfan, 66
Robot, display, 134 Sound -ranging system
Robot, industrial, 282 disadvantages, 413
Robot, mobile, 37 Sound-ranging system
Robot, multiarmed, 142 in robotics, 412
Robot, programming of, 151 Speak and Math machine, 397
Robot building, who, 424 Speak and Spell learning aid, 37
Robot design, 134, 461 Speech, 445
Robot diagram, Speech, robotic, 37
computer-controlled, 101 Speech, synthetic, 38
Robotics experimentation, 239 Speech chips, 408
Robot Institute of America, The, 42 Speech circuitry, 402
Robotnik, 2 Speech for robot, 392
Robot pilot, 2 Speech recognition
Robots, android, 28 automatic, 398
Robots, domestic, 45 GARCAN robot, 73
Robots, improving industrial, 353 See also voice recognition system,
Robots, types of hobby, 423 400
467
Speed of operation, 32, 41, 135 TRS-80 computer, 248, 433
programming, 162 Truth table, 128
Speed arm, 24
of robot Tubes for power, 214
Standard branching, 125
Stepping motor, 136, 203
Stepping motor, operating the, 244 Ultrasonic Ranging Marketing, 411
Subroutine, 122, 124 Uses of robots, 62
Subroutine, conditional-branch, 125 future, 454
Subroutines, linking, 139
Subroutines, nested, 175
Subroutines, unnested, 176 Vector, 20, 21
Sucker device, 198 Velocity of ACC/DEC values, 164
Suction device, 198 Verbal communication, rules for 394
Supertalker flowchart, 429 Versatran flowchart, 175
Switch, mode select key, 153 Versatran robot, 145
Switches, limit, 145, 198 Video cameras, 63, 366
Switches, mechanical, 221 Video-inspection system,
Switching devices, automatic, 126 industrial, 374
Synchronization, 86 Video signal, following the, 376
Vision, robotic, 392
Vision coordinate determination, 362
TARC control unit, 6 Vision recognition system, 368
TallBoy robot, 95 Vision system, diagram, 358
Tape player, 86 Vision tracking system, 361
Task, defining activities in, 152 Vision window, 360
Task, definition of, 20 Visual inspection systems, 385
Teaching program, 257 Vocabulary, increasing robot's, 40
Teaching robots, 6 Vocal robot, advantage to, 392
Teaching unit, 9, 117 Voice control, 57
Telemetry systems, 271 Voice recognition, 40, 71
Test robot, 6 Voice Synthesizer, 445
Testing movement of arm, 158 Voice synthesizer chip, 38
Testing programs, 144 Voice synthesizer system, 439
Testing robot systems, 432 Voice tract configuration, 403
Texas Instruments, 37 Votrax 9, 446, 458
speech circuitry, 402 Voxbox system, 438, 441
Thinking process, human, 17
Threshold, 233 W
Time factor in programming 111 Wiring of robot, 77
Time periods for movement, 70 Wrist, of robot arm, 115
Timing robot movements, 70 Wrist, robot, 193
Tl solid state speech system, 37 Wrist, three-roll, 354
Tops for robot bases, 77 Wrist design, 354
Torso, robot's, 192
Transfer valve operation terms, 232
Transforms, 134 Z-80 machine code, 250
468
OOOe-2521-4