Professional Documents
Culture Documents
50 CANADA
STATE OF THE ART.
Wisconsin businesses have long The heart of high-tech activity in
been world leaders in the development Wisconsin is an area in the southeast
of automated manufacturing. That's corner of the state linked by Interstate
because the state has what it takes to 94. It's the business address of re-
keep them-and you-on the leading searchers, entrepreneurs and investors
edge of technology. If you're looking who have found a strategy for success
into expanding or relocating, look into and a place to enjoy it.
what Wisconsin has to offer. Let us show you how the" 1-94
Our progressive business climate, Connection" can pave the way for your
for example. Or our highly funded uni- business success. Send for a free
versity research programs and pro:" 10-minute videotape introduction, or
ductive workforce. Our low corporate call our economic development profes-
taxes and low-cost electric power. Plus sionals at 414/277-3842.
a quality of life that'll make all your You'll see why Wisconsin business is
work worthwhile. in a fine state.
YES! Please send me your free videotape introduction to Wisconsin entitled, "The 1-94Connection,"
Name Title _
Company
Address
0 W' Beta
Electric
_
Circle 18
Publisher
ROBOTICS
Chris Crocker
Editor
Carl T. Helmers, Jr.
Consulting Editors
Russ Adams
Rakesh Mahajan
Roberta Toth
Associate Editor --A G E-'"--
Stephanie vL Henkel THE JOURNAL o F NTELLIGENT MACHINES
Production/Design Director
Nancy Estle
Assistant Production Manager
Tobee Phipps SEPTEMBER1985 VOL. 7 NO. 9
Circulation Manager
James E. Bingham
Circulation Assistants
EDITORIAL
[o-Ann Howe
Lynn LeBritton 2 Control Abstractions by Carl Helmers
Dealer Accounts
Meredith Makela
Typography FEATURES
Sheryl Fletcher
Receptionist
Erin Lary
7 FORTH for Robot Control by George Dooley
The diversity of industrial robotics applications requires a highly flexible program-
Advertising Manager
Donna Louzier ming language. FORTH's extensibility and interactiveness make it an appropriate
Advertising Coordinator choice for real-time control.
Cheryl Wilder
The year 1985 is a time for robotic languages, a time of creating development environment from GMF Robotics. The name was
new languages as well as of finding new uses for old ones. In this chosen in honor of Karel Capek, who, in his 1920 play, R.U.R.,
issue appear several articles on language themes. One discusses first introduced the word "robot." Karel's designers describe both
FORTH as a language to express algorithms in robotic applications. the language and the software tool system in this month's Robotics
Another introduces a new interpretive robot language called Age. What follows here are our reactions to Karel as we have come
RoboTalk. A third shows how a variant of LOGO can be used to to know it so far.
investigate the problems of simulating mobile robots. These We had our first taste of Karel this June at the GMF booth at
languages all represent different ways to express control abstrac- Robots IX and decided to learn more. At the end of June, the Karel
tions, the computer programs that implement the flow of automated team provided us with an advance copy of a users' manual and short-
processes. ly thereafter Ken Stoddard and Mitchel Ward sent a draft of their
Among the earliest successful methods for robot control was the article.
simple teach-by-example used with simple editing tools. In time, As a long-time collector of information about computer languages
robot systems engineers were able to add interpretive languages and their application environments, we were eager to dig deeper
as well as abstract expressions of traditional relay ladder diagram into this new language so we paid a visit to the GMF plant in Troy,
control expressions. Research laboratories have for some time now Michigan on our way home from this year's National Computer Con-
been tying FORTRAN, Assembly Language, FORTH, and other ference. GMF and its people were kind enough to give me a half
languages to real-world interfaces for robots. day of hands-on familiarization with the language, its tool environ-
Such languages and their implementations were a strong step ment, its developers, and its technical capabilities.
up the abstraction ladder from literal representation toward sym- At Robots IX we had observed Karel's resemblance to many block
bolic expressions for actions. Weare now seeing a further move structured languages-Pascal and Ada in particular. In 20 years
forward in languages and tools for robotic application. One such of working with computers we have at various times used FOR-
innovation is Karel, a structured high-level language and engineering TRAN, COBOL, VAL, PLll, XPL, and Pascal as primary languages.
We have also studied many other languages in engineering and
editorial work, including Modula II, Ada, C, LISP, SmallTalk,
LOGO, FORTH, APL, and BASIC. This language background and
the obvious tool philosophy of the GMF robot/environment builders
further kindled our enthusiasm. Karel is an interactive program
development environment for use by manufacturing engineers, and
lalJ-YO',,® not just another slow interpreter of a primitive BASIC-like language.
In developing our argument, we shall consider some of the criticisms
Technical that have been or might be leveled against Karel.
for the minds Every individual has preferences and every engineering applica-
tion has specialized aspects. Both come into play in choosing a
of the future in language for a particular purpose. Is Karel the "language to end
all languages"? No. Neither is FORTH, Pascal, Ada, Modula II or
any other language/environment combination. Karel is not any bet-
I Robotics I ter, or any worse, than many modern computer languages used for
specialized purposes. Much depends on the implementation. The
The robotics industry will gross $2 billion a year robot (including the circuitry contained on the
by 1990· and robotics manufacturers and the System's digital robot interface), troubleshoot GMF approach is not just a language, but a language plus a tool
industries they serve will need skilled techni- instructor-inserted electronic faults, and study
cians in increasing numbers to install, inspect, digital control of the robot.
set. Many faults that will be found with "yet another robot language"
maintain, and repair robots. The culmination of LAB-VOLT robotics train- will be based on a misunderstanding of its goals and aims.
ing is the actual control of the robot "mind,"
LAB-VOLT offers Robotics Training Systems
marking the completion of formal robotics
Karel is clearly not a general purpose real-time control language
that fully prepare skilled technicians to enter
the automated workplace through a combined training and the beginning of the robotics like Ada, C, or Modula II, although such languages might be ap-
program of rugged training equipment, hands- technician career.
on learning exercises, and programs that do
propriate for implementing a Karel environment. These more power-
more than teach the mechanics of a robot. Stu- Were ful languages grow unwieldy relative to an intentionally limited
dents also investigate
'Estimate
the electronics
by the Robotics
of the
Institute of America.
lalJ-YO',,® language implementation such as Karel. However, for those in-
terested in building applications, Karel will probably provide a more
P.O. Box 686 •Farmingdale, N.J.• 07727 useful and integrated design environment, precisely because it is
4555 Metropolitain E. • Suite 102. Montreal, Quebec, Canada. H1R1Z4 a limited tool specialized to a particular set of applications.
For example, the Karel language concept of a position vector-
Circle 13 location plus orientation-would have to be grafted onto the other
languages. Karel's strict separation of data and program, coupled
with a "teach" mechanism symbolically linked to the program, is
2 ROBOTICS AGE September 1985
an advanced level of abstraction that is neatly integrated into its engineer and the practicalities of fitting the engineering effort into
environment. One could use a modified subset of Ada (DOD types a large project. One of Karel's finer qualities is that it pays atten-
may rise in protest), C, or Modula II to control similar systems. tion to a rational software management philosophy while still at-
Such an augmented subset is not really the same language, however. tending to the interactive needs of the designer/programmer of the
If we are going to create a different language with extensions for application.
special purposes, why not call it by a different name? One of the The Karel language, as implemented, is only one component
powers of modern high-level language technology is that it permits of a tool environment. An advanced syntax-directed editor is also
custom designing of variant languages for specific and limited ap- part of that environment. Yes, there is a compile-execute mode of
plications. Each language, Karel included, can be designed with operation in Karel that FORTH and Modula II programmers com-
an application area in mind. This forms the philosophy of the plain about. But the interactivity of program experiments is still
development environment in which it will be placed. there; the only compilation errors possible are the significant ones.
Karel is not a graphic display and simulation language; its con- Compilations in a Karel development environment will not fail for
troller environment does not allow it to be. Nor is it necessarily trivial syntax error reasons as would be the case for compilation
the language in which one would express sophisticated pattern of nearly every programming environment to date. And, given the
recognition and vision system algorithms. But it is intended to be fact that the Karel system is a one-user system based on a super
the language which an applications engineer would employ to in- fast 32-bit microprocessor in the lab, only an extremely large pro-
tegrate a vision system into a Karel workcell by reference to ap- gram will require more than a few seconds' delay between editing
propriate libraries. These are more properly addressed by the and running. We observed numerous quick and convenient pro-
designers of such systems using languages in-which expression of gram development/change cycles during our time at GMF.
these problems is more natural. . Finally, there is that close tie between the language, its editor,
Karel's integration into an environment of robotic applications its operating system, and its physical hardware environment. Much
is a step up from the "monkey-see/monkey-do" approach of first- thought has gone into the Karel design as to the proper means
generation robot controllers. The expression of algorithms in sym- of communicating with the global hardware entities of the real
bolic form integrates naturally with the real-world data of move- manufacturing environment. These hooks are symbolic. They are
ment, paths, sensor input, and interrupts. Karel has the abstract also generic. Instead of machine-specific motor-by-motor control
power to express point data, plus the ability to tie such abstract of a robot and its joints, all computations and hardware directions
points to real-world locations, orientations, and information. Ex- are done in machine independent coordinates measured in stan-
pression of global system variables of the workcell is a natural and dard engineering units. Thus, distance components (X,Y, and Z)
symbolic part of Karel. of the Karel position vector are in millimeters and angles are in
degrees. With the generic expression of algorithms, it is possible
to make specific instances convenient to modify and debug using
SOFTWARE MANAGEMENT PHILOSOPHY the teach pendant and its symbolic links to the program's source
Perhaps the most persuasive argument for using a block struc- text.
tured language such as Karel is a clear understanding of its en-
vironment. The following could be an argument for anyone of a
number of related languages such as Karel, Pascal, Ada, Modula IN CONCLUSION ...
II, PUl-even C. The robots and robotic systems of the future are From what we have seen, Karel is an excellent software environ-
not going into isolated, stand-alone environments. Theyare going ment approach to the problem of applying industrial automation
to be installed in a modern industrial organization in which the at the workcellievei. As such, it is an integrated environment that
management problems of the real world are a major consideration. provides the engineer with a set of easily understandable tools. Even
Structured languages-the "algol-like" family-are well adapted to if there were no further developments-such as completion of a
managing large projects with real-world engineering personnel. stand-alone personal computer-based off-line version of the
In the real world of projects, people come and people go. A well environment-Karel would be a highly desirable tool for practical
documented program is the only solution to the inevitable person- application. •
nel turnover in engineering/programming staffs. A figure not
unknown in computer technology is the "lone wolf," a creative pro-
gramming genius who hardly communicates with his fellow
creatures. A management that overly depends on an engineer who
happens to be a lone wolf is headed for real trouble. What hap-
pens if the genius quits and takes all his mental documentation
MOVING?
Please be sure to send us both your old address and your new one. You may attach
with him? The last thing a plant manager responsible for a robotics your mailing label from the magazine cover, or print your name and address exactly
installation needs is a software engineering philosophy that com- as it appears on the mailing label. Allow eight weeks for processing.
tiveness against the design documentation goal. Not all computer --::--- ----
Town/City State Zip
languages encourage documentation-oriented programming, but a
well designed program in a modern structured programming New Address
language can be its own design document. When comments are Name Company
used cleverly. any programming language can be made to produce ;:-5(r-ee-(------- .---- ----------
eminently readable documentation of their functions. With block
structured languages like Pascal and its progeny, including Karel, Town/City State Zip
the documentation of the program is the program. Mail to:
Before the modern era of powerful inexpensive computers there Robotics Age/Subscriptions, 174 Concord St., Peterborough, NH 03458
was a balancing act between the interactive needs of the design
tact: IFS (Conferences) Ltd., clo 25-27. Forth Modification Lab- THE ASSOCIATE COMMAND: ADAPTIVE PATTERN RECOGNITION
You can ASSOCIATE any new PROCESSING:
Stockholm Convention Bureau, oratory (FORML). Stettenfels Cas- combination of letters and numbers with SAVVY can figure out what you mean
existing combinations of letters and even if you misspell words or forget an exact
Box 1617, S-l11 86 Stockholm, tle, Frankfurt, Germany. Contact: numbers. Once you are familiar with the
language's primary commands (key-
command or task name. If, for example, you
were writing a program to control a robot
Sweden, telephone (0) 8 23 09 90; Forth Interest Group, PO Box words), you can associate one or two
keystroke combinations that make sense to
and entered the command
FORWRAD when you intended
MVOE
MOVE
or IFS (Conferences) Ltd., 35-39 8231, San Jose, CA 95155, you with the primaries or with tasks you
have written yourself. You can, in fact,
FORWARD, SAVVY's pattern recognition
would recognize MVOE FORWRAO as
High St., Kempston, Bedford telephone (408) 277-0668. associate many different letters, words, or
combinations of words to the same primary
being close to MOVE FORWARD; it would
correct the spelling and proceed as if
or task. This allows SAVVY to respond
MK427BT, England, telephone correclly to a wide variety of statements and
nothing was wrong. If, on the other hand
you entered a command which was "erose"
programming styles.
(0234) 853605. 28-29. Automation Means Bus- to several possible commands
ambiguous, such as entering MOVE, SAVVY
but
Exposition on Robotics and Dataquest Incorporated, 1290 Rid- typing errors as you go and prompts you
2.
3.
MOVE BACKWARD
MOVE FORWARD SLOWLY
when it doesn't understand what you are 4. Or none 01 Ihe above
Automated Systems. Hilton Inn der Park Dr., San Jose, CA telling it. Please Iypethe ncmber otthe correct answer ..
Structure checking: The language in~ When you type in the number of the
Bossier, Bossier City, LA. Contact: 95131-2398, telephone (408) eludes a structure checker, the monitors
loops and conditional statements. The
command you really want, SAVVY pro-
ceeds to execute that command. The more
Dr. R. Michael Harnett, Meeting 971-9000. language alerts you to structure errors and
will not save or execute a program until they
words and phrases you teach SAVVY,
the better it will utilize pattern recognition.
Chairman, Office of the Dean, Col- have been corrected.
Naturally. SAVVY will not catch all of your
ORDERING INFORMATION
logic errors, but it will let you know when it
lege of Engineering, Louisiana can't do what you ask and it will give you
SAVVY for the APPLE II .;. and lie avail-
able in single unit purchases for $375. UPS
ideas of the kinds of things it can accept.
Tech University, PO Box 10348 NOVEMBER paid COO orders add $5.00 handling.
Substantial discounts for quantity
Software is the critical element for any candidate robotics languages. BASIC, communicate in his or her native language.
robotics application. Robots are inherently although interactive and easy to learn, is A computer language should show the
real-time devices and present the software unstructured, slow, and not easily ex- same flexibilityas a human language; when
developer with unique and often extraor- tended. FORTRAN also is popular and a new situation or process arises, new
dinarily difficult problems. Robotics soft- fast but unstructured, not easily extended, words can be created to describe and con-
ware differs from other applications in that and inflexible. The only means of extend- trol it. Automation language must en-
nearly all robot control software is ing BASIC and FORTRAN is by adding courage the creation of new language ex-
customized to specific industrial assembly language calls to the language. tensions that appear to the user as human
requirements-one robot might be spray PASCAL and C, both structured lan- language but remain fast and efficient in
painting a car or turning a bolt while guages, are not usually implemented in- implementation.
another robot of similar design might be teractively. Their typical implementation The vertical hierarchy allows the user to
welding. Robotics software must take in- is stuck in an EDIT-COMPILE-LINK- link together language primitives to create
to account the widely disparate uses to DEBUG cycle that can be limiting to new commands specific to the application.
which robots are put. No single piece of creativity and productivity. These For use in robotics, the programmer can
application software can effectivelycontrol languages are often unsuitable for robot create commands to control various parts
every robot. A suitable robotics language control. of the robot. These commands can, in
must be adaptable to a variety of real-time FORTH was invented in 1969 by turn, be used to create other words of in-
applications. Charles Moore to control radio telescopes. creasing power, complexity, and abstrac-
The special characteristics a robotics The language arose from his frustration tion. Thus, programming in FORTH con-
programming language needs are these: with traditional languages as inflexible and sists of extending the root language to
• Transportable. The programs gen- unsuitable for control applications on a create another language and solving the
erated by the language should be easi- machine with limited resources. In problem in this new language. FORTH has
ly converted to run on a variety of developing FORTH,Moore created a accurately been described as a "meta-
computers. novel and effective method of solving com- language," a language for writing
• Readable/Modifiable. The program plex automation problems. Abandoning application-oriented languages. As such,
language should be easily read and traditional languages with their rigidly its character is entirely different from the
understood so that it can easily be fixed syntax, he created a stack-oriented formal flavor of conventional computer
modified. language that is extensible and highly languages.
• Generalizable. The program should be interactive. For example, to sample an analog-to-
easily adapted to new hardware. FORTH is constructed around digital converter we might create a word
• Interactive. The program should be vocabularies. The root vocabulary is a col- called ADC that would take care of begin-
easily and quickly tested with the hard- lection of basic "words" or commands. ning the analog conversion, testing for
ware in actual use. (A running dialog Writing programs in FORTH consists of completion, and reading the results. All
between system and programmer defining new words made up from se- the programmer has to do is enter ADC
occurs.) quences of already existing words. A ver- and the result is left on the stack. The
• Debuggable. Errors should be easy to tical hierarchy can be developed, starting word ADC actually becomes part of the
correct. with low-level"primitives," and continuing language and can be used to create addi-
• Vertical. The program should be low- toward more and more complex, abstract tional commands. Any word could have
level and high-level at the same time. words. been chosen to name this process, but
• Extensible. The language can be made Verticality is an important property of "ADC" is convenient for mnemonic
more powerful by adding to its ar- a robot control language. An effective recognition.
chitecture, allowing new structures to language must be a compromise between A structured language is desirable for
be "grafted" to itself. the computer that understands only binary robotics applications so that a project can
Let us now survey some of the other logic levels and the user who prefers to be implemented in the correct top-down
ROBOTICS AGE September 1985 7
manner. Adherence to the principles of use that programmers often find words expect or leave their results on the
structured programming makes a program themselves writing a small program or just stack and the speed penalty is small.
easy to understand, debug, and change. playing around to see what happens. Often Conventional wisdom says that all in-
BASIC and FORTRAN, being unstruc- what happens is something significant that teractive languages are slow. Yet, FORTH
tured, are not suited for producing and sheds light on the process and allows a executes as fast as, or faster than other
maintaining large, complex control pro- deeper understanding of it. high-level languages. It also provides full
grams. Structured programming promotes The importance of an interactive access to the computer's hardware.
careful program design and provides a language cannot be overemphasized. FORTH is as comfortable twiddling the
means of controlling the runaway complex- BASIC is burned permanently into ROM bits at some controller port or reading a
ity of software. Unstructured programming in millions of home computers, not robot's sensor as it is creating powerful
results in programs of "spaghetti code." because it is particularly powerful, elegant, high-level commands. FORTH is fast
Such code is difficult to maintain and even or structured but because it is interactive. because it compiles into a sequence of calls
to comprehend. A well designed structured Human beings love to see the results of to the root kernel, which is a set of
program can readily accommodate their work immediately. FORTH users machine language routines.
changes in computer hardware. Languages often draw an analogy between program- Many commercial versions of FORTH
like Pascal (and, to some extent, C) carry ming and painting a picture. Imagine the have descended from the public domain
the structured programming idea of data frustration a painter would feel having to FORTH Interest Group (FIG) version. FIG
and program constructs to a logical wait 10 to 15 minutes to see the effect of FORTH is useful for introducing the
conclusion-at the expense of inter- each single brushstroke. This is exactly the language to the public and is suitable for
activeness. situation programmers face when they use smaller control applications. For more
An interactive language is important for a traditional high-level language in their sophisticated applications, PolyFORTH
the rapid software development that keeps conventional implementation. An editor is from FORTH, Inc. may be more useful.
programming costs down. A language that used to enter source code, the source must PolyFORTH is a professional system
provides the necessary tools to write soft- be compiled and linked, and finally ex- geared toward high-performance applica-
ware rapidly permits alternative routes to ecuted to detect any bugs. The process is tions and includes some features that FIG
be programmed and explored to create the laborious, time-consuming, and required descendants lack. For example, Poly-
best software model. Charles Moore refers for each program change. This time delay FORTH has TICKS, a 32-bit variable that
to this aspect of FORTH as "seren- hinders the creative process, breeds contains the number of milliseconds since
dipitous" in that the language lends itself frustration, and discourages experimenta- midnight, an invaluable piece of informa-
to accidental discoveries. It is so easy to tion. FORTH breaks out of this EDIT- tion for real-time control. PolyFORTH
COMPILE-LINK-DEBUGcycle because its also provides a turnkey compiler (to
compiler and editor are FORTH words generate stand-alone applications), sealed
BRDSHlESS and it does not need a linker. A FORTH
word can be defined interactively and
vocabularies, and multiuser capabilities.
Unlike many other commercial versions,
•
YNATUTOR
I>VNAMATION
P.O. BOX 231, STATION "U", TORONTO, ONTARIO M8Z 5P1 • TELEPHONE (416) 927-0800
Circle 9
* For the popular microcomputers.
KAREL: A PROGRAMMING
LANGUAGE FOR THE
FACTORY FLOOR Mitchel R. Ward
and
Kenneth A. Stoddard
GMF Robotics
560b New King St.
Troy, MI 48098
During the last decade, robots and • a user language with applicability to
robotic applications have evolved from robot controllers, vision systems, and
simple pick-and-place operations, which cell controllers
put heavy emphasis on the motions that The market/customer requirements
the robot performed, to sophisticated were established as:
systems in which the motions are only one • a language powerful enough to satisfy
small portion of the program. Motion has the above two criteria
become less important than program con- • a language factory personnel could
trol logic, interfacing, communications, learn and use without extensive
operator interaction, and program com- training
putation. It is not uncommon today for 80 • a program development support sys-
to 95 percent of a robot program to be tem that could be used for off-line
composed of nonmotion constructs. program development as well as the
In the late 1970s and early 1980s, the on-line programming typically found
first generation of "language-based" in- in plant applications
dustrial robot controllers appeared. Ex-
THE KAREL LANGUAGE
amples of these are VAL [1], Rail [2], and
Although the language itself incor-
AML [3]. These systems were in one way The Karel control cabinet door has been opened to
or another derived from the first robot reveal the keyboard and screen (left) and the porates features found in many other
language developed at Stanford Universi- operator's panel (right). On the far right of the languages, its integration into a system of
ty, WAVE [4], and its successor AL [5].
cabinet is a fused flange power disconnect switch. software tools makes the programming
The teach pendant hangs on the front of the cabinet and operation of a Karel language pro-
. First-generation languages had simple con- .below the keyboard.
gram unique. Karel is a high-level pro-
trol structures (IF eOTO), integer arith-
Karel is a new second-generation robot gramming language that combines certain
metic, limited coordinate transformations,
language recently created and im- features of Pascal, some characteristics of
limited user interrupt handling,
plemented at eMF Robotics [7]. Karel is first-generation robot programming lan-
keyboard/CRT input/output (I/O), and
also supported on eMF vision and off-line guages, and finallysome extensions unique
relatively slow interpretive execution.
programming products and will be the to Karel. The structure and syntax of Karel
In 1983, the first of the second genera-
tion of robot languages, VAL-II [6], was in- basis of eMF cell control products. are designed to provide a language that is
troduced. Second-generation languages easy to learn for simple applications while
are characterized by complete control DESIGN PHILOSOPHY providing the sophistication and power
structures, varied data types with full necessary for advanced applications involv-
The design philosophy for Karel was to
arithmetic support, powerful user interrupt ing sensors, communications, a high
develop:
handling with process control support, full degree of operator interaction, and exten-
• a user programming system to sup-
I/O including teach pendant and secondary sive process control.
port special-purpose application soft-
storage, and faster user program execu- ware development on top of (not Simple Data Types. Karel provides four
tion. within) the basic controller basic scalar data types: integer, real, string,
10 ROBOTICS AGE September 1985
ROBOTICS AGE BACK ISSUES
SUMMER 1979: Digital Speed Control of DC Motors; Industrial JANUARY 1984: Robots in Batch Manufacturing; Super Ar· Product Notes: The String Computer; A Biological Model for
Robets 79; Introduction to Robet Vision; The Grivet Chess-Playinq matron; Directory of Robotics Education and Training Institutions; Multilegged Robot Control
Arm. (photocopy) A Table of Contemporary Manipulator Devices: Patent Probe. A
New Robot Patent Category; Operator Roles in RobotiCS, The DECEMBER 1984: Motion Control for Automation and Robotics;
WINTER 1979: Advances in Switched·Mode Power Conversion, Scorpion: Sonware Overview A Lisp-Based Robot Control System, Part II; Robotix, Part I; ln-
Part 1; Prospects for Robots in Space; Robotics Research In troduction to Prolog, Part II, A Thud- Generation Stepper Motor
Japan, Report from IJCA16. FEBRUARY 1984: GRASP: From Computer Aided Robol Controller, Part 1.
Design to Off· Line Programming; Design and Construction of a
SPRING 1980: Microcomputer Based Path Control; Robotics Five-Finqered Robotic Hand; Patent Probe Omnidirectional Veh" JANUARY 1985: The Walking Gyro; Nomad MK III The Flight
Research In France; Multiple Sensors for a Low-Cost Robot; the cle; Using Microprocessors with Radio-Control Servos; Oesiqn- of Fancy; Robotix, Part II: External Control; A LispBased Robot
Robots of Autofact II; lns.de Big Trak. ing a Reliable voice-Input Robot Control Language; Part II, The Control System, Part III An Example Environment; Rethinking
Scorpion: Motor Control Instructions. Robot Mobility; A Pneumatic Walking Robot
SUMMER 1980: Industrial Robots; Today and Tomorrow; ln-
troducing the Minimover 5; Advances in Switched Mode Power, FEBRUARY 1985: The Sandi Project; Photo Essay A First
MARCH 1984: Part I, Armega 33 Mechanical Desiqn: Patent
Part II Probe: Robot Computer Chess; Part III, The Scorpion: Commands Glimpse at Gemini; Robetics Research: The Next Five Years and
With Responses; A Simple Computer Interface. Beyond; Report from the Unmanned Vehicles Conference; A
FALL 1980: Using Optical Shah Encoders; Interview with vctor Modular Remote Data Acquisition System Design; Keeping the
Scheinrnan: Robot vision for Industry; The Autovision System;
APRIL 1984: Closing the Sensor-Computer-Control Loop, HERO I's Steering Wheel Straight; A Third·Generation Stepper
Industrial Robotics '80; Robots on Your Own Time; Superkim
Bipedal Balance; Patent Probe Robot Warehouse; Part II. Armega Motor Controlier Part II.
M~~ts ET-2. 33: The Electrical Components.
MARCH 1985: Miniature CCD Cameras: A New Technology
MAR/APR 1981: Video Signal Input; Chain-Code: Camera MAY 1984: Backyard Foundry for Sand Casting; Androtext, A for Machine Vision; Vision and the Computer: An Overview; PC·
Geometry for Robot Vision; TIG Welding With Robots; Robot High·Level Language for Personal Robots; Part III; Armega 33 Based Image Processing; Polaroid Ultrasonic Ranging Sensors
Digestive Track-Robots on Your Own Time. Computer Control; Computers in Ihe Real World. in Robotics Applications.
JULY/AUG 1981: Segmenting Binary Images; The Robot as JUNE 1984: Introduction to Numerical Control Programming; APRIL 1985: Speech Recognition: Machines that Listen; ln-
Transfer Device; Continuous Path Control of Stepper Motors; Glossary ofCNC and Machine Tool Technology; A Glance at Some terview with Joseph Engelberger; The Listeners: Intelligent
TIMEL A Homebuilt Robot Microprocessor·Controlied CNC Tools; Intel's Bitbus Microcon· Machines with VOice Technology; Fourth for Computer Vision
SEP/OCT 1981: Bullish Days in the Robet Business: Edge Detec- troller Interconnect in Industrial Applications; A Second-Generation Autonomous
tion In Man & Machine: Continuous Path Control with Stepping JULY 1984: Shape Memory Effect Alloys for Robotic Devices: Sentry Robot
Motors; Build a Low-Cost Image Digitizer, Report from JACC·81; Hitachi's Robet Hand; Partll, Backyard Foundry for Sand Casting
MAY 1985: The ABCs of X·Y Posuioninc; A Compliant
The Robot Builder's Bookshelf. Making the Molds; Fantasy Meets Reality at New York Robot Ex-
hibit; Meccano and the Horne-Built Robot; The Role of Robots Mechanical Gripper; Irurd-Generauon Robots: Their Definition,
NOVIDEC 1981: Teach Your Robot to Speak; Fast Trig Functions Characteristics, and Applications; A Critique of Three Gripper
In Flexible Manufacturing Systems; A ReView of the Colne Arm-
for Robot Control; An Interview with George Devol: The Great droid I. Designs; Tool·Changing Robot Hands.
Japanese Robot Show; TIMEL: A Homebuilt Robot, Part II.
AUGUST 1984: Animate vs. Inanimate; The Echo II Speech Syn- JUNE 1985: Justifying the Robotics Replacement Decision; A
JAN/FEB 1982: Avatar A Homebuilt Robot; A Look at SS·50 thesizer; Computer Vision and Ranging Systems for a Ping Pong New Computerized Tomographic·Aided Robotic Stereotaxis
Computer Boards; Working Within Limits; Ambulatron: Another Playing Robot; Robots and Employment; Angles and Brads; System; A Z80·Based, Multitasking Control System; Rscoqniz-
Contest Winner; Quester Robots 8 Exposmon and Conference; Part of the Beginning. ing Parts That Touch.
MAR/APR 1982: The Rhino XR·l A Hands-On Introduction to SEPTEMBER 1984: Tabletop Technology; Robots in the JULY 1985: A New Super Camera for Vision Systems; Force
Robotics; Power for Robots; A Computer Controlled Sentry Robel: Classroom; Robots in Elementary Education: Moravec's Mobile Sensors for Robotic Assembly Systems; A Mutielement
A Homebuilt Project Report; Natural Language Understanding Robots, Robotics' Role in HlghTech Education; USing the PolarOid Ultrasonic Ranging Array; GoalSeekinq Sensor: Robots and
A First Look; R1'13 Video/Sound Recognition System; An Inex· Ultrasonic Ranging System Safety: An Industry Overview.
pensive Hand; Type 'N Talk.
OCTOBER 1984: Introduction to Data AcquiSition; A Simple Ther· AUGUST 1985: The Exact Inverse Kinematics Solutions for the
MAY/JUNE 1982: Part Sources for Robots; An Inexpensive Arm- mal Touch Sensor; Experimenting Made Easy: The ADC·l Data Rhino XR·2 Robot Manipulator; Previewing Robonc Motion With
Hand System; The Polaroid PlOD Polapulse Battery: Solution Acquisition System; Of Mice and Machines Computer Graphics; Inverse Robot Kinematics Derived from
Waiting for a Problem; New Robot Books for the Bookcase Ap· Planes of Movement; Graplucs Simulation and Programming
NOVEMBER 1984: Part I, A Lisp-Based Robot Control System; for Robotic Workcell Design.
plying Robot Vision to the Real World; Robots VI; A Landmark
in an Exciting Era; Photo Essay and Notes from Robot VI
JULY/AUG 1982: The Microbot Jeacb-mover: Some Notes On
......................................................................................
Part I, Introduction to Prolog; EARL: An Easy Robot Language;
....
$3/ea
With vson Correction.
........................................... .
___ Copies Augusl '85 VoL? No.8 $3/ea
.
" " " " " """ " " " " ... ." .
""" "" "" " " "" " " " " " " "." "
To understand much of what we're doing with
respect to cancer research, you'd need a graduate
degree in microbiology or biochemistry.
But to understand how well our educational
programs and service resources help both patients
and their families, simply talk to one out of
every 100 Americans who are part of our volunteer
program. Or talk to one of the 3 million who've
survived cancer.
The battle
. . isn't over but
we are wmmng.
Please support the American
I AMERICAN .
9CANCER
fSOClETY$
Cancer Society.
and Boolean. These types are available as tion with the robot axes. Jogging the aux- Process Control 110. The basic process
both constant and variable data. Integer iliary axes and teaching auxiliary axis posi- control support is via digital and analog
data includes whole numbers in the range tion are supported by the teach pendant. 110. Karel systems in a normal hard-
± 2,147,483,647. Real data is supported ware/software configuration support up to
Expressions. Mathematical and relational
as 32-bit floating point data. String data 128 separate digital I/O points. Optional
is strings of any printable characters. operators are defined for all data types. configurations support additional I/O.
Boolean data has two possible values, The basic arithmetic operators are addi- Digital I/O can be referenced as individual
TRUE (ON) or FALSE (OFF). One- tion (+), subtraction (-), multiplication (*), lines or as a group and treated as binary
dimensional arrays of scalar data types are real division (f), and integer division (DIV). values. Individual lines can be turned ON,
supported in Karel. Arrays must be Trigonometric functions are also sup- OFF, or PULSED. Analog I/O is also pro-
declared explicitly with a length (number ported. The relational operators include vided for welding controllers, sensory in-
of elements). equal (=), not equal «»,
greater than puts, and general process control. The
(», less than (<), greater than or equal program constructs for performing this I/O
Structured Data. In addition to scalar data
to (>=), and less than or equal to «=). use reserved symbols to represent each
types and arrays of scalar data, Karel sup-
The logical operators are OR, AND, and type of I/O. Assignment statements are
ports structured data. Structured data is
NOT. A full set of mathematical operators used to set the values of individual I/O
distinguished from scalar data in that it
and built-in routines is provided to support points:
consists of a set of values that have a more structured data types. This set consists of
complex form than a simple array of vector addition (+) scaling (*) dot pro- DOUT[3] - ON turns on digital output 3
, , AOUT[2] - 346 sets second analog output to 346
scalars. Examples are position data, vec- duct (@), cross product (#), and coor- IF DIN[5] ... tests input 5 to be ON
tors, auxpos (auxiliary axis position data), dinate transformations (:). GPOUT[3] - 10 sets value 10 on digital output lines defined
for group 3
and paths.
Positional data is used to define loca- Motion Statements. Motion statements Logic Control. Karel provides all the con-
tion and orientation. It might refer, for ex- can specify motion of the robot TCP as structs of a high-level programming lan-
ample, to variable information such as the well as that of auxiliary axes. Karel pro- guage. The FOR, REPEAT, and WHILE
location and orientation of an object or in- vides a broad selection of basic motion statements provide the basic looping con-
formation such as the Tool Center Point statements (MOVEs). They include: structs. The IF-THEN-ELSE, and
MOVETO movesto a specified location SELECT (case) provide the standard alter-
(TCP). In Karel, positional data is
MOVENEAR moves near a position along TOOLZ axis
represented as a location (X,Y,Z) and an MOVEAWAY moves away from the current position along native selection statements. The GOTO
TOOLZ axis statement is provided to handle the excep-
orientation (W,P,R) in a Cartesian space.
110VEAXIS moves an individual axis
Paths are arrays of positions with each MOVERELATIVE moves the robot relative to its current tional situations when the five basic con-
position structs are not adequate.
path node being one position. A feature MOVEABOUT rotates around a specified vector
of paths is that, in addition to position MOVEALONG moves along a path
data, other data such as process data may Monitors and Interrupts. Karel provides
A number of special motion control and
be associated with a node of a path. Nodes two types of user monitors and interrupts.
monitoring clauses can be added to in-
can be arbitrarily added to or deleted from Local interrupt handlers are provided that
dividual motion statements to temporari-
a path during teaching. Paths provide a are enabled for only a single robot state-
ly change the type of a motion or to specify
means of easily specifying a sequence of ment such as:
conditions that should be monitored
positions through which the robot is to throughout the motion. A NOWAIT clause MOVETO pickup UNTIL DIN[l] - ON
move, and to specify the motion with a on a MOVE statement tells the program This statement moves the robot TCP to
single statement. Paths are convenient for interpreter that as soon as the specified the position defined by "pickup." Normal-
continuous path applications such as motion is initiated, the interpreter can pro- ly, the motion would terminate when the
painting, sealing, and arc welding, and for ceed with executing subsequent state- robot TCP reached pickup. The UNTIL
specifying motions around obstacles where
ments. clause specifies that the motion is ter-
the number of required taught points is
minated when either the robot reaches
not known. Textual I/O. User-programmed textual
pickup or when digital input 1 comes on.
Vectors are composed of three elements. (character, string) I/O is provided to the
Program execution then continues at the
The numeric values of these elements are computer terminal, the teach pendant, and
next statement.
similar to the 3-component vectors of to bubble memory files. The Karel
Global monitors specify a condition to
mathematics. They are typically used to statements READ and WRITE provide
be monitored globally during program ex-
construct position values from within a both formatted and unformatted I/O
ecution. The action to be taken when the
Karel program, or for other vector func- operations. This feature permits applica-
condition is satisfied is specified by a
tions and quantities. tion programs to be designed and im-
WHEN statement. Global monitors can be
Karel supports auxiliary axes for such plemented with a high degree of opera-
enabled and disabled as needed by the ap-
functions as positioner control for arc tional information flow. Meaningful opera-
plication program.
welding. AUXPOS is the data type used tional, error, prompting, and status
WHEN[1] DIN [Safety_gate] DO SHUTDOWN
to record the positional values for these messages can be provided during daily
additional axes. Special motion statements operation to inform the operator of the This example establishes a monitor for
are provided for specifying the motion of operational status and to specify required a digital input, asking for an interrupt ser-
these axes and for coordinating their mo- actions. vice routine (SHUTDOWN) to be executed
ROBOTICS AGE September 1985 11
when the gate is opened. The difference The Karel Command Language. While teaching phase by the same logic the pro-
between a service routine and all other the Karel language is the means by which gram executes.
routines is that parameters cannot be applications are described, the Karel Com-
enabled and disabled as needed by the ap- mand Language, or KCL, is the opera- MOTION CONTROL
plication program. tional language of a Karel controller. It is As previously noted, Karel provides a
WHEN clause, They apply only to a single used for operation of the controller as well number of MOVE statements for specify-
statement. In the following example, when as for on-line program development. ing motion. The type of motion interpola-
the robot is 15 ms from POSITION [1], Though KCL is an explicit text language, tion, speed, and termination conditions
the digital output is turned on. most of the commands can be entered with can also be controlled. Three basic inter-
MOVE ALONG PATH 1, softkeys so typing is rarely, if ever, neces- polation methods are supported in Karel.
WHEN THIE 15 BEFORE POSITION [1] sary. The complete set of KCL commands JOINT interpolation coordinates the mo-
DO DOUT[GRIPPER] ~ ON
includes the following categories: tion of each robot axis to begin and end
Routines. Karel supports both subroutines • Program Development. This includes .at the same time. The overall time of the
and functions that return values, including commands to operate the on-line motion is dictated by the axis that requires
parameters, local data, and nesting to an editor and translator and to load pro- the longest time to complete its move.
arbitrary depth. Routines are invoked grams from secondary storage (in- LINEAR interpolation moves the robot
simply by using the name of the routine. cluding off-line or host storage) to TCP in a straight line from its current posi-
RAM memory. tion to the destination position. The orien-
Importing Data and Routines. The shar- • Program Control. A host of com- tation of the tool is smoothly changed to
ing of data between application programs mands permits the operator to run, the orientation of the destination position.
is an important feature for creating special abort, pause, and resume programs. CIRCULAR interpolation results in the
application packages and for setting up System parameters can be used along TCP's moving along a circle from initial
data to be shared among programs either with these commands to permit position to a final position through a via
on the same robot or across all the robots single-stepping and breakpointing.
position.
in a given application area. In Karel, pro- • Data Manipulation. Data can be
In addition to the interpolation algo-
gram data created for or by one program declared, assigned initial values,
rithm used to move from position to posi-
can be accessed by another program. Key saved to secondary storage (including
tion, the user can specify the termination
reference positions for a particular applica- off-linestorage), listed, and moved or conditions for a motion. The four types of
tion can be taught once and shared by renamed while in RAM. termination are NODECEL, NOSETTLE,
several programs without maintaining • File Manipulation. The customary file COARSE, and FINE. Motion termination
multiple copies. One example is an manipulation commands are avail- determines when one motion is completed
operator setup procedure for vision able, including copying, renaming,
and the next can begin.
calibration. Using shared data, a program listing, and directory listing. Com-
can be written that leads the operator mands are also available for device
APPLICATION DEVELOPMENT
through the calibration and creates the mounting and dismounting (including
positional data required for daily opera- network devices). Karel does not include the large built-
tion. This data can be loaded later and • Miscellaneous. Miscellaneous com- in set of special robot options found in
used with the actual operational program. mands include those needed for many systems, such as palletizing func-
diagnostics, utilities, help, status tions, special arc weld functions, and spot
PROGRAM DEVELOPMENT display, and robot calibration. weld functions. While these options are
Karel, as implemented at GMF, is part KCL commands can also be executed sometimes useful, they frequently do not
of a full set of software development tools from command files, allowing the operator adequately meet the customers' real re-
specialized for robotic, vision, and cell to define an application-dependant power- quirements, with the result that customers
controller projects. This environment also up sequence and Karel program loading either have to alter their applications to
allows off-line program development on and execution sequences. fit a special option or they simply do not
computers separate from the actual robot use it. The Karel language allows easy
systems. Position Teaching. Position data is tailoring of such options by either GMF or
generally created using the teach pendant. the user to suit specific needs, an approach
Program Creation. Karel programs are It can also be entered directly via KCL that requires fewer changes to the basic
created using a sophisticated line-oriented commands at the keyboard. A newly system software and renders it more
editor that knows the Karel language syn- created program is executed by a special reliable.
tax. This essential tool provides commands RUN-TEACH function. Whenever the new
for program entry and insertion, deletion, program attempts to execute a MOVE COMMUNICATIONS AND SENSORS
and replacement of text. During text en- statement to an uninitialized position, ex- Karel provides an extensive set of com-
try the editor can optionally check for syn- ecution is suspended and the operator is munication and sensor functions, in-
tax errors within a program. This check- prompted to teach the position. After the cluding communications based on RS-232
ing can be performed as text is entered position has been taught, the program ex- that use protocols such as DDCMP and
and can also be invoked by the user at any ecution can be resumed. The programmer the General Motors MAP specification.
time during the edit session. is thus automatically led through the Several options are offered that depend on
12 ROBOTICS AGE September 1985
the speed of communications, number of GMF vice president of research and develop- 4. Paul, R. "Wave: A Model-Based Language
communication links needed, and so forth. ment, deserves credit for providing the initial for Manipulator Control." The Industrial Robot,
Basic communication functions include impetus to develop Karel. Dr. Berthold Horn, March 1977.
of the Massachusetts Institute of Technology, 5. Mujtaba, S. and R. Goldman. "AL User's
program and data upload and download,
was a major contributor during the early stages Manual." Stanford Artificial Intelligence
data modification, status, and most oper-
of specification and development. Finally, the Laboratory Memo AIM-323, 1979.
ator functions supplied by KCL. In addi- entire Karel team deserves credit for the system 6. "User's Guide to VAL-I!." Danbury:
tion, the functions necessary for syn- described here. Unimation Incorporated, April 1983.
chronization and control between sensor 7. Ward, M.R., K.A. Stoddard, and T.
systems and the robot system are provided. REFERENCES Mizuno. "A Robot Programming and Control
A real-time sensor option provides the l. Shimano, B. "VAL: A Versatile Robot Pro- System which Facilitates Application Develop-
means to interface sensor data into the gramming and Control System." Proceedings ment by the Use of High-Level Language." Pro-
path planning portion of the Karel system of COMPSAC 79, November 1979, 878-883. ceedings of the 15th International Symposium
and to perform real-time tracking for arc 2. Franklin, J.W., and GJ. Vanderburg. "Pro- On Industrial Robots, September 1985.
welding, sealing, and other applications. gramming Vision and Robotics Systems with
RAIL." Proceedings of Robots VI, 1982,
392-406.
Reader Feedback
To rate this article, circle the appropriate number
3. Taylor, R.H., P.O. Summers, and 1.M.
on the Reader Service card.
ACKNOWLEDGEMENTS Meyer. "AML: A Manufacturing Language."
The Karel system is the result of the contribu- The International Journal of Robotics 71 81 91
Excellent Good Fair
tions of many individuals. Lothar Rossol, the Research, 1, no. 3, 1982, 19-41.
ROUTINE Wait_part
BEGIN
IF timeout(part_readyi THEN
MOVE TO purge
purge-9un
WRITE (' Timed Out Waiting for a Part ')-- write error message
PAUSE pause program
ENDIF
END Wa it_part
ROUTINE Start_Sealer
BEGIN
DOUT[sealer on] = TRUE signal the sealant gun
IF timeout(;ealant) THEN wait to see if success
t10VE AWAY 100.0 if not, move away from seam
MOVE TO PURGE move to purge position
purge_gun
WRITE ('Timed Out Waiting for Sealant') display operator message
PAUSE stop the program
ENDIF
END start_sealer
ROUTINE Purge_Gun
BEGIN
MOVE TO purge move to purge position
DOUT[solvent_on] = TRUE tlJrn on so Ivent
Delay 50 wait 50 msecs
DOUT[solvent_on] = FALSE turn off solvent
DOUT[air_on] = TRUE turn on air
DELAY 100 wait 100 msecs
DOUT[air_on] = FALSE turn off air
END purge_gun
The word "robot" commonly evokes a making it useful both for teaching the of several of the more common industrial
mental image of the mechanical and elec- robot and for instructing the operator in robot control languages, including Unima-
tronic components that make up the tangi- the principles of programming. tion's VAL, Cincinnati Milacron's control
ble, visible robotic device. However, it is All robotic control languages have cer- language, and Automatix's RAIL.
the invisible component, the software, that tain features in common, such as com-
defines a robot and distinguishes it from mands for motion, grip, synchronization, VAL. VAL uses a BASIC-likesyntax with
simple hard automation. The first 25 years and relative and absolute coordinate ad- the COTO being the only form of loop
of industrial robotics were characterized justments, as well as the control structures control and the COSUB used to call
by evolutions in hardware, but since the common to all standard programming subroutines. All VAL's variables are global;
beginning of this decade the primary focus languages. The language must also allow truly stand-alone subroutines cannot be
of robotics research and development has interaction with the teach pendant and its created. The teach pendant is integrated
been on software. Sophisticated program- controls. The reason a specific robotic into VAL through the editor. As locations
ming languages for robot teaching and control language is preferable to simply are taught, lines of text are added to the
control have been created both as support adding robotic control subroutines to a program. (This is the method we adopted
systems and as substitutes for the tradi- more general purpose language is that for RoboTalk.) Once they are taught, the
tional teach pendant as a way to train and there are a number of data structures MOVE command can be used to reference
control a robot. While the pendant is an peculiar to this application area. These in- these points directly in the program. All
excellent method of teaching fairly simple clude motor position for points in space, spatial locations are either absolute or
tasks such as welding and palletizing, when the current absolute and relative position relative.
the job is more complex and external event of the robot, and the home position used One of VAL's best qualities is the ease
synchronization must be considered, or to reference all relative motion. A control with which it can be learned by those with
when the robot needs to recognize and language specific to robotics often provides programming experience, and even peo-
respond differently to a large number of a more natural means of expression than ple new to programming can create short,
occurrences, the teach pendant system does a more general-purpose computer useful programs in a few hours. VAL's ma-
becomes overburdened. language. jor limitation is that it is an old language
The solution is a robotic control lan- that lacks modern control structures and
guage for writing programs specifically TRADITIONAL INDUSTRIAL does not support stand-alone subroutines.
designed to control a robot. We created ROBOTIC CONTROL LANGUAGES
RoboTaik especially for the Rhino XR- Our development of RoboTalk was Cincinnati Milacron's Language. The
Series robots. The language is interactive, based on an examination and assessment Cincinnati Milacron language is unique in
ROBOTICS AGE September 1985 15
that it is essentially based on a directed • act and feel like an industrial lan- Command Function
graph, similar to a road map that has a trip guage, with fast response time, Append begin inserting text onto the end
of the program
planned on it with arrows indicating direc- smooth execution, and immediate
Delete deletes a line of text
tion and circles around points of interest. abort capabilities.
For a robotic control language, the points Because so many XRs are used in educa- Edit allows modifications to a program
line
of interest are specific operations like close tion, we felt this application should be
Insert puts editor into insert mode from
grip or move to a location, and the arrows given first priority. We decided to keep the which text can be entered
direct the program flow. language simple, without sacrificing com-
List list the program
The Cincinnati Milacron language's ma- pleteness; to add a trace and debugging
New begins a new program
jor advantage is the high level of teach pen- facility to help beginning programmers
Print prints the program on the printer
dant integration that allows the operator understand the operation of both their
to both create a program and guide the program and the robot; and to add a direct Quit exits the editor
robot. Its major limitation is that large pro- execution mode that allows easy ex- Skip go to the specified line
COMPUTER
CONTROLLED
ROBOTICS
1. DRIVER BOARD 5005 DB $ 75
4.5" x 3.8" xos-. nLjCMQS CQMPATIBLE,
*
QPTICALLY INSQLATED, FQR 4 PHASE MOTQRS 2AMPSj5Q VOLTS
2l1NEAR ACTUATOR 601 AM $ 75
12Vjl2W, 16 OZ, .0.0.1" STEP SIZE
19 LBS HQLDING FQRC.!. 3 IN TRAVEL
3. LINEAR ACTUA10R 501 AM $43
12V/3.5W, 1.5 QZ, .0.0.2" STEP SIZE
40. QZ HOLDING FQRCE, 1.88 IN TRAVEL
4. STEPPERMOTOR 201 SM $ 16
5V/2W, 1.0. QZ, 150 STEP SIZE
0..8 QZ/IN HOLDING TORQUE
5. 12V,
STEPPERMOTOR 301 SM
21.5 QZ, 1.8 STEP SIZE
0
$ 59
80. QZ/IN HOLDING TQRQUE
6. MOTOR MOUNT FOR 301 SM $25
The RoboTalk programming language has ed by quotation marks. Valid strings include 72 82 92
28 commands, divided into two groups: pro- "this is a test" and "this is 100." Excellent Good Fair
gram control commands and robot control • Variables. A variable is a storage loca-
commands. Program control statements con- tion in the computer that can hold a numeric
trol program flow, while robot control com- value. Unlike a constant, a variable's value
mands run the robot and its controller. The can be changed. The command SETI is used
commands are: to assign values. SETI G=123 gives variable
G a value of 123. Each new assignment over-
INTEL'S BASIC 52 =
Program Control Robot Control writes the previous value. ONE HOT CONTROLLER
CLS AUX • Operators. RoboTalk has two types of
END CLOSE operators, arithmetic and relational. The
GOSUB HARDHOME arithmetic operators are standard algebraic
GOTO HOME
operations: + (plus), - (minus), * (multiply),
IF MOVE
IFSIG MOVE TO and / (divide).···These operators areiJ.sed to.
PAUSE MOVEGH form numeric expressions. The relational
REM MOVEGH TO operators are used in the IF/THEN statement
RETURN MOVEP to return a TRUE or FALSE value based on
SETI OFFLINE
TROFF OFFSET
the outcome of the operation. They are: <
TRON ONLINE (less than), > (greater than), and = (equal to).
TYPE OPEN For example, 10<11 is TRUE, whereas 3 X 4" Programmable fJ-C with
WAITFOR OUTSIG 10<9 is FALSE. 8k x 8 CMOS RAM for $289
This latest self-contained microcontroller from
A numeric expression is one or more BASICON offers remarkable capability for such
RoboTalk has 26 built-in variables-the let- variable, constant, and operator that follow low cost and space. It's designed around Intel's
BASIC 52 chip, allowing you to program
ters A through z. It has room for 100 user- the standard niles of algebra. For example: directly in BASIC from any terminal with an
RS-232 connection.
taught location points. The IBM PC version 10 • 36 I/O ports.
can accommodate programs up to 10,000 A+12/5 • 8kx8 CMOS RAM.
characters, about 500 lines. The Apple ver- • Real time clock.
(B-G) *2 • 316-bit timer/counters.
sion can handle 2000 characters. ((10- F) + 100)-(10- E) • Autobaud - wide range.
As do all computer languages, RoboTalk • 9 interrupts.
combines constants, variables, and operators EPROM programmer and many peripherals
Within expressions, all parenthesized available.
to form expressions. groups are evaluated first, then multiplica- Volume discounts. Delivery 2 weeks.
• Constants. RoboTalk has both string tion and division, and finally addition and
and numeric constants. A numeric constant subtraction. Operators on the same level are BAS/COH, /HC.
is any integer between - 32,768 and 32, 767 evaluated left to right. Parentheses can be 11895 NW Cornell Road
Portland, Oregon 97229
and a strinq is a list of characters surround- used to alter the order of evaluation. TEL: 503-626-1012
There are at least three reasons the where 25 percent of the robots in the U.S. current advances in computer-based, in-
technologies associated with automation, are in service [1]. Unions, through dividualized training.
including robots, will have an impact on collective-bargaining agreements, have
the fields of training and instructional received extensive company-paid training THE NEED FOR SKILLED TECHNICIANS
technology within this decade: programs in consideration of economic The original supposition in this discus-
concessions granted by auto workers. sion was that the increased demand for
• a need for skilled technicians
Other industrial unions have echoed the automation would lead to the creation of
• the development of retraining pro-
concern that robots are capable of ac- jobs for skilled robotics technicians. A re-
grams for displaced workers
celerating the displacement of skilled, cent forecast, based on a survey of
• training for end users in specialized
semiskilled, and craft workers and have in- management currently involved in the
robotics applications
cluded in their. labor agreements clauses automation field, predicted that 400,000
Robotics is an emerging technology pertaining to retraining benefits [6,7]. With technicians would be needed to service
whose effects are only beginning to be felt increasing concern over the potential automated factories by the end of this cen-
in the workplace. By next year an negative effects of worker displacement tury [4]. Most of the 10,000 trained techni-
estimated 50,000 industrial robots will due to technological innovation, the AFL- cian positions that will become available
have been installed [1] with projections of CIO is calling for the creation of a national within this decade will be filled by
100,000 to 150,000 by 1990 [2]. Estimates industrial policy that would include the employees coming from company training
of an annual growth rate for the automa- development of effective employment and programs [5]. However, over 400 high
tion industry are as high as 30 to 49 per- training programs [8]. schools, community and technical col-
cent. This rapid expansion has been at- Additional types of automation, long leges, and universities are now offering
tributed to the perception that robots, considered the poor relations of industrial courses in automated systems. How can
coupled with related types of factory robots, will also influence the need for trainers and educators resolve the need for
automation, are the means to restore a future training endeavors. These special- future technician training without flooding
favorable trade balance and to enhance in- ized robotic applications include such in- the job market?
dustrial productivity in traditional novative examples as adaptations of arms, Traditionally: technician training in
manufacturing industries [3]. As with any grippers, and voice control for the hand- terms of maintenance and installation has
new technology, there will be a demand icapped and elderly; Department of been provided by robot vendor companies
for trained professionals, such as those in Defense funding for robotics, including the to clients who have purchased their pro-
the engineering and computer science development of autonomous robotic ducts. In a recent Office of Technology
fields, as well as for skilled technicians to vehicles for defense and physical security; Assessment survey [9], 93 percent of those
install and maintain state-of-the-art equip- and the creation of affordable, easily pro- companies that produce programmable
ment. By the end of this decade, an grammed robots for educational and per- automation equipment offer instruction to
estimated 70,000 jobs will have been sonal use. purchasers. The extent of this instruction
created by the robot industry [4], and 5000 Technologies intimately related to is limited in scope, with 80 percent of the
to 10,000 skilled technicians will be automation, such as high-fidelity simula- vendors providing only a single course.
needed [5]. tion used in computer aided design/com- Only a third of these companies said they
Automation is being implemented at the puter aided manufacturing sensor systems, were prepared to provide all the training
fastest rate in the automobile industry, and artificial intelligence will support con- actually required to operate and maintain
20 ROBOTICS AGE September 1985
Circle 12
pletion this year is a model curriculum for know how many workers in these new jobs
robotics/automated systems technicians will come from the pool of displaced
developed by the Center for Occupational workers or will be graduates of technical
Research and Development and the U.S. training programs. Of the factories using
Department of Education. This new ap- programmable automation, only 22 per-
proach to curriculum design includes cent polled in a recent survey sponsored LABORATORY
seven quarters consisting of 80 percent or conducted new technology-related train-
common core subjects (basic and technical ing. Of those that did not offer skill up- ROBOT
skills) and 20 percent specialty core sub- dating, only 18 percent indicated future
jects (robotics and sensors). This cur- plans for implementing such programs [9].
riculum was designed to produce
OPPORTUNITY
In light of this limited data, it appears
graduates with an extensive technical that a need does exist for vocation- Strategic Directions International, Inc., a
leading high-tech strategy consulting firm,
background that will allow them to find al/technical/continuing education pro- has issued its latest Market Analyses and
jobs in a variety of areas, as well as to pro- grams that will provide the automation in- Perspectives (MAP) report, Laboratory
vide a foundation for the subsequent dustry with skilled technicians capable of Automation. This first comprehensive look
at the dynamic and financially rewarding
retraining necessary to keep up with keeping abreast of advancing technologies area of lab robotics includes detailed infor-
technological changes [5]. The success of [15,9]. Until definite industry trends are mation on markets (sizes, segmentation,
such training endeavors is as now undeter- discernible, trainers and curriculum devel- shares, and products), competition, and
end-user preferences. Technical trends
mined. One community college-based pro- opers would be well advised to incorporate and strategic implications are also featured.
gram reported successful placement of 18 robotics courses into general skills In addition, this report covers the related
out of 23 of its graduates [12], while categories. This will give graduates a flex- field of sample handlers and liquid pipet-
ting, diluting, and dispensing equipment;
another was able to find jobs for only a ible background and allow them to pur- increasingly evolving into robotic systems.
few of its students [13]. sue a number of career alternatives. The combined report is available for
Part of the confusion in assessing in- $1,795 plus shipping, handling and sales
tax (if applicable). To order, call or write:
dustrial needs for technician training lies The Retraining Dilemma. Robots are ex-
in separating those trainees who are be- pected not only to increase productivity Philip Dean, MAP Program Director
ing hired into the workplace for the first and improve product quality, but also to Strategic Directions International
9841 Airport Blvd., Suite 806
time and who have received formal educa- reduce labor costs. Using an example from Los Angeles, CA 90045
tion in automation disciplines from those the auto industry, employee costs in- Ph: (213) 641-4982 Telex 664611
workers who have been displaced and who cluding benefits range from $23 to $24 per
are receiving new skill training in hour, whereas the cost, including acquisi- o
tion and maintenance, for an industrial the Center began a National Vocational
robot doing the same job averages approx- Retraining Assistance plan that provides
imately $6 per hour [16]. According to a financial aid (up to $lOOO yearly) to laid-
recent documentary, the most completely off workers who wish to enroll in formal
automated factory in the world has re- education or retraining programs. The
duced an estimated labor force of 2500 to Targeted Vocational Retraining Projects
215 [17]. Estimates vary, but each robot were initiated concurrently to support
installed in the U.S. is projected as replac- retraining in specialized skills for occupa-
ing between 1.7 and 6 jobs. By 1990, tions where worker shortages existed in
robots could displace 1.2 million workers specific locations [9]. The "nickel an hour"
[2]. Workers who have lost their jobs fund that finances these retraining pro-
because of technological change are ex- grams has produced approximately $10
Digital outputs in Binary, BCD or Gray pected to reenter the work force through million to support the Ford Center and
Code (directly computer compatable) re-
industry- and government-sponsored $40 million for retraining at GM. Job
quires no signal conditioning or buffering
amplifiers. Available stroke lengths 1, 2, retraining programs [18]. security was also an issue for the most re-
4, 8, 12, 24, 36 and 48 inches. In terms of designing retraining pro- cent collective bargaining agreements. The
grams, the critical issue becomes one of total value for 1984 contracts is estimated
The VERNITECH Linear Encoder is pre-
aligned and extremely rugged, suitable calculating the number and types of at $1 billion. This amount does not seem
for industrial environments. Accuracies workers needing to be trained. While some excessive since it gives the major auto
to .003 inches can be acheived. economists and social demographers are manufacturers license to employ automa-
Prices start at $400.00 and delivery is 10 predicting higher than normal attrition tion technologies to the greatest possible
weeks. rates due to automation [19,20], others extent as long as retraining is provided.
suggest a minimal effect on the work force Similar agreements have been reached by
between now and the end of the decade unions in the aerospace, electrical, com-
Call or write [21,22]. What is known, however, is that munications, and steel industries [6,7].
different geographic locations, especially Whereas most of the public's attention
a division of Vernitron Corporation those in the Great Lakes "rust bowl" has been focused on collective bargaining
300 Marcus Boulevard, Deer Park,N.Y.11729 region, are being hardest hit in terms of resolutions to the displaced worker prob-
(516) 586-5100 / TWX 510-227-6079
plant closings, worker displacement, and lem, the federal government has in the
transfer of labor-intensive jobs to third past funded, under the Comprehensive
world nations [17,2,24]. What educational Employment and Training Act and the
THE fifth generation language planners should expect is that somewhere Trade Readjustment Assistance Act, pro-
PRO LOG in the neighborhood of 2 to 4 percent of grams for retraining workers. Under the
the manufacturing industry labor force will newer Job Training Partnership Act, which
Implementing the full Edinburgh Synt311
as described by Clockson and Mellish need some form of retraining by the end encourages partnerships for training by
of this decade [21]. public/private sources, approximately $2.8
Recognized by Japan as providing unparalleled
opportunity lor artificial tnteu.qence. Labor unions have been the main im- billion was made available in 1983 to train
petus behind retraining program develop- and employ displaced workers [9]. The ef-
Applications:
ment. The UAW predicts that by 1990, ficacy of federal involvement has been
• The highest level of a hierarchial
200,000 of its members, approximately 20 questioned, however, since such interven-
robotic control system. percent of its total membership, will lose tion could be interpreted as a denial of in-
• Machine recognition of
natural language. their jobs to industrial automation [2].This dustrial capabilities for sponsoring retrain-
• Expert systems and time frame coincides with GM's reported ing and, too, the national government
knowledge engineering.
Optional:
plan to install 20,000 new robots [17]. This might be too far removed from local situa-
• Virtual memory
displacement of workers is expected to oc- tions to adequately address training issues
• Special libraries cur despite a 15 percent projected growth [24].
educational package
$29.95
• Language extensions rate for the American automobile industry. Even without having precise data on the
• Large model
In their 1982 Ford and GM agreements, rates of technological change and diffu-
•other versions $100- $500 the UAW obtained provisions for sion,:or on the actual numbers of workers
Requires 192K memory and runs under MSDOS establishing training and retraining pro- being displaced by automation, it is clear
and peDOS versions 2.0 and later.
grams for current employees, as well as that retraining has become big business.
benefit most those displaced workers who TRAINING FOR SPECIALIZED ROBOTIC
APPLICATIONS MICROCOMPUTER
are young, have more formal education, PROJECT
and have some financial security. Of such Training needs will not be limited to DESIGN TOOLS
individuals, however, only 15 percent par- large-scale retraining efforts or technician
ticipated in retraining programs, ostensibly training. Small groups of end users will re-
because of the lack of financial support. quire specialized training as robots are
In addition, the types of jobs available for used in a wide variety of nonindustrial
displaced workers must be determined. categories. The following examples are by
Will all jobs now available or in the future no means an exhaustive list of robotic
require new, higher-level skills? Or will at capabilities expected to be developed
PROJECT BOARDS
least a portion of those displaced find within this decade, but they can serve as
• 6502 or 6803 Processor
themselves in lower-level jobs and be illustrations of new uses of automation • Up to 48K Memo~
classified as unskilled? technology that require some degree of • Monitor I Debug PROM
• Serial and Parrallel 110
Reports from two retraining programs instruction. • Counter - Timers
in Allegheny County, Pennsylvania, fund- In a joint research project of the • Plated-Through Breadboard
area for your project.
ed by federal, state, and local community Veterans Administration and the Stanford
Assembled & Tested $200.00
colleges indicated that the number of Research Institute, robots with specialized
displaced workers dwarfed available arms and grippers are being programmed CROSS ASSEMBLERS
6502,6800/6801,6805,8048,8051
resources for retraining. Further,· the to execute simple domestic tasks for peo- S080/8085, 8086/s088, 9900/9995 Assemble
courses devised were only marginally suc- ple severely disabled by spinal cord injury. machine language programs on your MS-DOS
system, burn PROM's andlor down-load and
cessful in placing trainees full-time in the Since the project's implementation, end run on your Project Board or other system.
areas of their academic specializations. Of users have been involved in the design, Disk & Manual ..........•...•• $100.00
23 students enrolled in a robotics pro- development, and implementation of the
gram, 5 dropped out of the course, and project [29]. Not only were they instrumen- Write or call for information on these and
other products.
five months after the course was finished, tal in the research and development pro-
12 were counted as working full- or part- cess, but they also provided the necessary HAWTHORNE TECHNOLOGY
time in course-related fields. In a com- material for the creation of training man- 8836 S.E. Stark
Portland, OR 97216
parable program aimed at retraining 30 uals for new end users. As these ex- (503) 254-2005
millwrights to become stationary engi- perimental concepts are expanded to in-
neers, only 15 had positions 17 months clude homebound, physically disabled
after graduation. The robotics program is adults, including the elderly [30], training
being offered again, but the other program
has been dropped [25].
concepts from the laboratory will be ex-
trapolated to larger, less sophisticated
STEPPER
If trainers are to be successful in return- audiences. MOTOR
ing displaced workers to full-time occupa-
tions, they must develop curricula ap-
The Department of Defense and private
industry have recently joined forces to
CONTROL
plicable to a wide range of ages, educa- sponsor robotics research and develop-
tional backgrounds, and skill levels. These ment in the areas of physical security,
curricula should include planning for the automatic ammunition loaders, and in-
changes new technologies willmake in the telligent maintenance, diagnosis, and re-
work environment. This factor may prove pair systems [14]. Autonomous vehicles are
more significant than job requirements for viewed as capable of tirelessly patrolling
determining worker flexibility[26,27f Pro- perimeters of secured areas such as
gram evaluations must be included as an nuclear facilities or prisons; the result will
integral component of whatever nation- be a reduction of personnel needs [31].
wide industrial policy is formulated. Ex- Such robots have potential use also in
isting evaluation data must be viewed as medical evacuation, fighting fires, enter-
inconclusive because of program dif- ing hazardous areas, and defusing ex-
ferences, environmental differences, prob- plosive materials. These robots willrequire
INTERFACES IBM-PC
lems associated with small samples, and trained technicians for their maintenance OR APPLE
selection bias difficulties [28]. Without the and repair. At issue for trainers are the HS-2 BASIC Controller, HS-3
long-range strategic planning implications human factors involved in person-machine Dual Driver, 2 SM-101
of such a policy it willbe difficult to predict interfacing. Training willhave to focus not 90 oz. motors ..... $416.00
in exactly what skills workers will need only on technical issues but also on public
retraining or how many jobs will become response to the potential danger of such
Cybe.·Pak
company
available. Nor will it be possible to gauge vehicles and the coordination of person- P.O. Box 38
the successes and failures of combined machine capabilities. Brookfield, IL 60513 <D
government and privately funded retrain- Another area of robotics with potential (312) 387-0802 Q)
MCIVISA ~
ing programs. training impact is the personal robot en- u
Reader Feedback
To rate this article, circle the appropriate number
on the Reader Service card.
N
N
73 83 93 ~
Excellent Good Fair
u
LOGO is a language that was first in- events, which can then help control robot changing position, the fire button on the
troduced by Seymour Papert as part of an behavior. joystick's being pressed, and an event
experiment in teaching children how to Table 1 lists the events LOGO demons timer that is activated once per second.
use computers. Turtle robots carrying pens will watch for. To instruct the demons to watch for
were programmed to move about in pat- In essence, there are three types of events, we first need to know the event
terns that produced drawings. This events. The first is a TURTLE-LINE col- number. These are in the first column of
background might not immediately suggest lision. We have four turtles and three pens Table 1. For example, when Turtle 0
the language's powerful LISP-based con- that leave lines on the screen. When a tur- passes over the line drawn by Pen 0, we
structs and its usefulness in graphics tle passes over a line, a demon can run see that it is event number O. Having ascer-
simulation, but the Atari LOGO cartridge a routine if we have told it to watch out tained the event number, we can use it in
for the Atari 1200XL home computer can for that event. Next is the TURTLE- either of two ways to test for that event.
be used to simulate a turtle, build it a TURTLE collision that occurs when one The first way is the COND statement. The
room, and allow it to wander around run- turtle runs into another. Again, if we have COND # statement returns TRUE or
ning into walls and other turtles. One par- told the demon to watch out for that event FALSE, depending on whether or not that
ticularly helpful feature of LOGO is the it will then execute a routine. Last comes event number has occurred. We can
"demon" that can be used to monitor SPECIALS. These include the joystick's therefore place it in an IF statement.
IF COND 0 [PRINT [TURTLE 0 PASSED OVER LINE OJ J
TABLE 1 In the above statement, when the turtle
Events and Demons
passes over the line the screen will display
EVENT TYPE OF EVENT DEMON
"TURTLE 0 PASSED OVER LINE 0."
NUMBER
The problem with the COND statement is
o TURTLE-LINE Turtle 0 crosses Pen 0
1 TURTLE-LINE Turtle 0 crosses Pen 1 that it only tests immediately. If we are do-
2 TURTLE-LINE Turtle 0 crosses Pen 2 ing other things as well, we might miss the
3 SPECIAL Joystick button pressed
turtle's passing over the line. Fortunate-
4 TURTLE-LINE Turtle 1 crosses Pen 0
5 TURTLE-LINE Turtle 1 crosses Pen 1 ly, demons can be used in another way,
6 TURTLE-LINE Turtle 1 crosses Pen 2 with a WHEN statement that acts as an
7 SPECIAL Once a second
8 TURTLE-LINE Turtle 2 crosses Pen 0
interrupt for the system.
9 TURTLE-LINE Turtle 2 crosses Pen 1
WHEN 0 [PRINT [TURTLE 0 PASSED OVER LINE OJ J
10 TURTLE-LINE Turtle 2 crosses Pen 2
11 NOT USED As soon as an event occurs, we process
12 TURTLE-LINE Turtle 3 crosses Pen 0
13 TURTLE-LINE Turtle 3 crosses Pen 1
the routine specified in the WHEN state-
14 TURTLE-LINE Turtle 3 crosses Pen 2 ment, regardless of what else we are do-
15 SPECIAL Joystick position changed ing. This statement is executed only once.
16 TURTLE-TURTLE Turtle 3 hits Turtle 0
17 TURTLE-TURTLE Turtle 3 hits Turtle 1
We can then go on and process other in-
18 TURTLE-TURTLE Turtle 3 hits Turtle 2 formation, knowing that as soon as that
19 TURTLE-TURTLE Turtle 0 hits Turtle 1 event happens again we will be told that
20 TURTLE-TURTLE Turtle 0 hits Turtle 2
21 TURTLE-TURTLE Turtle 1 hits Turtle 2
"TURTLE 0 PASSED OVER LINE 0."
This is the basis' for robot simulation.
ROBOTICS AGE September 1985 27
THE SIMULATION one in which we can do the most work.
,.,,-,-, » •• ,... The robot we are simulating is very sim- The way we recover from collisions and
select a new direction begins to enter the
I.3CIIIIIII
THE AUTONOMOUS ROBOT
ple. It has only one bumper and can detect
when it hits a wall but cannot tell the direc- realm of artificial intelligence.
ROUTINE SIM1. This is the main
tion of incidence. One of the first programs
someone writes for a robot is to have it routine, with which we tell the turtle to
IS NOW PRICED FOR run around on the floor, bumping into clear the screen (CS), use the full screen
EVERYONE! things. We can have our robot do the same (FS), and draw the room. SIM1 sets up the
by drawing a room on the screen, placing demons (WHEN 0 [ RECOVER D, tells the
our robot into the room, and letting it go. turtle to begin traveling, and sets its speed
When it bumps into a wall, we can back (SETSP 20).
it up and head it off in a new direction. As the simulation runs, we might see the
This is done in Listing 1. turtle bang its head several times before
choosing a direction that gets it away from
LISTING 1: LOGO LISTING OF SHIl the wall. This is a function of the
TO SQUARE : LEN
RECOVER routine and we can, if we wish,
REPEAT 4 [ FORWARD : LEN RIGHT 90 ] begin developing a more intelligent
END recovery routine for when the turtle hits
a wall.
TO DRAW.ROOf!
PENUP
SETPOS [-100 -100]
PENDOWN
THE SMARTER MACHINE
SQUARE 200 Perhaps the easiest recovery routine to
PENUP
SETPOS [ 0 0 ]
implement is the LAST-RIGHT method.
END This is accomplished as follows: When we
hit a wall we back up. We know the direc-
TO RECOVER
REPEAT 10 [ BACK 1 ]
tion we are traveling, so we look up in a
SETH ( 22.5 * RANDOI·j 16 ) list the *response we used last time to get
Buy each subassembly as a kit END away from the wall. If the number is less
or factory assembled and create
TO SIMl
than 0, we have never before encountered
your own GEMINI Robot.
CS a wall while traveling in this direction. So
FS we pick a random direction and travel un-
Or, for DRAW. ROOM
convenience, WHEN 0 [ RECOVER ] til we hit something. We then see how far
start with SETSP 20 we traveled. If we traveled more than, say,
END
GEMINEX, 20 units, then it is a valid direction and
our starter ROUTINE SQUARE. This simply draws we place that value in the list, so we can
kit, and a square with each side :LEN units long. "remember it" if we hit a wall while we are
expand to ROUTINE DRAW.ROOM. This sets up traveling in that direction again. In time,
GEMINI our room. We first tell the turtle to lift up the turtle will get a good response table
later with its pen so it does not make too many lines. built up so that when it hits something it
upgrade kits. We place it in a lower left corner of the can get away without running into many
screen (SETPOS [ -100 -100 J), put its walls.
pen down, and tell it to draw a square 200 I ran statistics on this method, compar-
units on each side. This is a rather simple ing it to that of random choice. With ran-
room, but we could draw a more com- dom choice, the turtle picked the proper
plicated one if we wished to. We raise the direction to get away from the walls about
pen again and place the turtle in the center 50 percent of the time. With the LAST-
Either way,
of the room. RIGHT method, accuracy increased to
Buy a piece of tomorrow
ROUTINE RECOVER. This routine is about 70 percent. With the LAST-RIGHT
TODAY!
called whenever the turtle hits a wall. We method, the turtle spends more time ex-
tell it first to back up ten steps, and then ploring and less time banging into walls.
CALL or WRITE For Our FREE to select a new direction. In this routine To implement the LAST-RIGHT meth-
Brochure. we use the RANDOM 16 instruction, od, we need to give the robot a way to
which will return a value between 0 and measure distance. On mobile robot plat-
arc:tec:Tsysterns 15. We take this number and multiply it forms this can be done by a number of
9104 Red Branch Road by 22.5 so the turtle will turn between 0 methods. With a LOGO simulation we can
Columbia, Maryland 21045
N (301 )730-1237 and 337.5 degrees. When the routine is find out the turtle's location by using the
ill
-g Telex 87-781 finished, the turtle heads off in a new direc- POS command, which returns a list con-
U tion. This is the most powerful routine, the taining the current position. We save this
28 ROBOTICS AGE September 1985
value, travel to a new position, and then TO DISTANCE : POS1 : POS2 MAKE "MR 0
MAKE' 'X ( FIRST :POS1 )-FIRST :POS2 MAKE' 'NM 0
identify the new location. Using the MAKE' 'MAX 16
MAKE "Y ( LAST : POS2 ) -LAST : POS2
DISTANCE command, we can find out OUTPUT SQRT :X * :X + :Y * :Y MAKE' 'MEM [16161616161616161616161616161616]
how far we have traveled. We then test to END MAKE' 'OLDPOS [00]
MAKE' 'DIR 0
see if this distance is greater than 20. If WHEN 0 [ RECOVER ]
TO SQUARE : LEN
it is, the direction we picked to get away REPEAT 4 [ FORWARD: LEN RIGHT 90 ] SETSP 20
from the wall was correct and we should END END
save it in the list. If the distance is less, ROUTINE FETCH gets the LAST-
TO RECOVER
the direction was not a good one and SETSP 0 RIGHT response for the current direction
another must be selected. REPEAT 10 [ BACK 1 ] from the list MEM.
MAKE' 'TRAVEL DISTANCE :OLDPOS POS
When I first wrote the routine, I noticed ROUTINE ITEM returns the Nth item
IF :TRAVEL > 20 [ GOOD.MOVE ] [ MAKE' 'STAT 0 ]
a slight problem. For example, the tur- MAKE "OLDPOS POS from a list.
tle is traveling at 90 degrees, hits a wall, NEW.MOVE ROUTINE NEW.MOVE tests to see if
and picks the direction 270 degrees as a SETH ( ( 360 / : MAX) * :NM )
SETSP 20
there is a response in memory. If there is
means of getting away. And let's say the END none, a random response is given by
best response from the 270 degrees is the GET.RAN. It there is a response in
TO DRAW. ROOf1
90 degrees. LOCKUP occurs. The turtle memory, the move is given by GET.MEM.
PENUP
willjust oscillate back and forth indefinite- SETPOS [-100 -100] Testing is then conducted for LOCKUP.
ly. We can prevent lockup by testing for PENDOWN A positive finding brings a new random
SQUARE 200
180 degree reversals. If a 180 degree response.
PENUP
reversal was chosen, we pick a different SETPOS [ 0 0] ROUTINE REPLACE inserts a new
direction, as in the above example. Listing END value in a list at position N.
2 is the program that gives this behavior. ROUTINE GOOD.MOVE updates mem-
TO SIM2
TO S
SETSP 0
TS
END
TO ITEM : N : OBJECT
IF : N = 1 [OUTPUT FIRST : OBJECT]
OUTPUT ITEM : N-1 BUTFIRST : OBJECT
END
TO FETCH : INDEX
OUTPUT ITEM ( : INDEX + 1 ) : MEM
END
TO GET.RAN
MAKE' 'STAT 0
MAKE ' 'NM RANDOM : MAX
END
TO GET .MEM
MAKE ' 'MR FETCH : DIR
IF :MR = :MAX [GET.RAN] [MAKE' 'NM :MR]
END
TO NEW.MOVE
IF :STAT = 1 [GET.MEM] [GET.RAN]
IF : DIR = ( FETCH : NM ) [GET. RAN]
END
TO GOOD. MOVE
MAKE' 'STAT 1
MAKE "MEM REPLACE : DIR + 1 : NM : MEM
MAKE' 'DIR :NM
PRINT :MEM
END
printed out every time it is updated in the horizontal walls from Pen 0. By using
THE SOFTWARE SCIENCE
GOOD.MOVE routine. This does not ap- another demon, (Demon 1) we could find
MICROTELEMETRY MODULE
pear on the screen unless we stop the out if we were hit on the side or the front.
uIEJl0j]fIE~1ITUJrnIE simulation by pressing S followed by a
< RETURN>. This clears the screen and
For example, if we were traveling 10
degrees and hit Pen 1, which runs
W@ILu&~IE displays the memory changes. The sim- north/south, we would know we were hit
IPrnIE§§aJJrnIE ulation is restarted
Q<RETURN>.
by pressing on the side.
3. Sonar simulation. Many robots today
LOGO can use a split screen to carry a Polaroid sonar range finder. We
simultaneously display both text and could simulate with another turtle the
graphics. If every FS in the program is round trip sound would take from the tur-
replaced with SS, the last three lines of text tle to the wall and back. To find this
will remain on the screen, and will scroll distance, we place another turtle where we
as commands are entered. This procedure, are and have it move forward until it hits
however, reduces the size of the room in a wall and returns to us. We could even
which the turtle is roaming about. Further, put it in a loop, so that it scans 360
the room must be fully displayed on the degrees and then gives us the direction of
graphics portion of the screen or the tur- the longest distance. Listing 4 is a sonar
Your sensors and the Software Science MicroleJemetry
tle will jump right over the walls. routine. With TEST.DIS, we move the
Module can put analog data and control at your com- Once in a while, a turtle may escape sonar turtle forward fivesteps at a time un-
puter or terminal's fingertips.
from the room. There are a number of til it hits a wall. It then outputs the distance
reasons that this happens, but mainly it from the robot turtle to the sonar turtle.
(513) 561-2060 happens because the system can handle
CALL OR WRITE LISTING 4: SONAR SIMULATION
only one demon at a time. The easiest way
FOR TECHNICAL FL YER TO SONAR
to get the turtle back into the room
SETSP 0
Dhl
P.O. Box44232,
without disturbing its memory is to type:
ASK # [ SETPOS [ 00 J J<RETURN>
TELL 2
PENUP
SETH ASK 0 [HEADINGJ
Cincinnati, Ohio 45244 where # is the number of the turtle that SETPOS ASK 0 [POSJ
ST
escaped. In the SETPOS command, it is MAKE' 'DIS 0
assumed that 0,0 is inside the room. If it TEST .DIS
plications, a single beacon will frame, Blidberg said, and first, with trade press, trade the VDC survey, micro-
suffice, Blidberg said. transmitting only pertinent shows, seminars, professional computer-based systems, in-
The prototype robot has an data, the information can be associations, trade associations, cluding personal computers, of-
on-board computer with 128 condensed into 2 or 3 frames independent consultants, com- fer the highest growth poten-
Kbytes of memory, but the final per second. puter manufacturers, and soft- tial, with an annual growth rate
version will have 4 or 5 Mbytes. In addition to exploratory ap- ware suppliers following in foreseen as 18.1 percent. Pro-
A UNOS operating system plications, the robot will be descending order. grammable controllers are in-
made by Charles' River Data used to clean underwater struc- A market survey conducted creasingly important to the pro-
Systems of Framingham, Mas- tures. Stashed in the vessel will by Venture Development cess industries, which will con-
sachusetts guides the craft be a load of lithium salts that Corporation (VDC) revealed tribute to an anticipated growth
around obstacles in its path. respond to being mixed with that integrated plant manage- rate of 16.6 percent in ship-
One problem, Blidberg said, is sea water by producing a high- ment and control is the most ments of the controllers.
running symbolic languages in pressure gas. The gas emerges important trend in process con- The second half of this
a real-time environment. For in the form of bubbles that trol since the 1970 introduction decade is expected to see an in-
instance, acoustic data from the scour away mineral deposits, a of distributed control. creasing percentage of total
robot's depth sounder deter- process akin to sandblasting. U.S. consumption of in- capital expenditures allocated
mines the slope of the ocean The robot will use a pair of tegrated plant management and to plant automation equipment
bed. If the floor is rising too arms, "buggers," to attach itself control systems is expected to and services. Plant communica-
fast, that information is to the object being cleaned so increase at an average annual tions networks and plant
transmitted as a symbol. The the force of the bubbles won't rate of l3.4 percent over the management software willshow
Prolog interpreter mounted on propel it violently backward. next five years. According to the largest increases.
the operating system translates In Blidberg's estimation,
symbols into commands to some of the most rewarding
carry out course corrections as results of his work have not
they become necessary.
The operating robotic sub-
come from creating a brand-
new widget: "We get very ex-
PEOPLE
marine will collect video data cited about finding new ways of ~ Michael N. Forino is the ~ Microbot, lnc." has ap-
during its runs and send it back tying the new technology to new president of United States pointed Dino Papoutsis pro-
streamlined. By removing all ocean science." • Robots. He was most recently duct manager for educational
redundant data from the video president and CEO of and developmental robots. He
Hubotics, and has also been in has previously worked for Lux-
upper management with Inter- tron Corp., Bio-Rad Labora-
MARKET RESEARCH national Robomation
General Automation.
and tories, American Cyanamid,
and Diagnostic Corp. of
Computer aided design and The impetus to automate America.
engineering, computer- or pro- comes from within the manu- ~ Imaging Technology Inc.
grammable controller-con- facturer's organization, the has announced three promo- ~ James N. Carro has joined
trolled equipment, and auto- report continues, with the tions: Clyde W. Sylvia as vice Ridge Computers as vice
mated parts tracking will show strongest advocates being president for finance and chief president of marketing and
large gains within the next five engineering, senior general financial officer; Patricia sales. He had been with
years, according to a survey management, and corporate Mostika as director of human General Electric Co. for the
recently published by the Na- management. resources; and Ronald A. past 20 years, most recently
tional Electrical Manufac- An earlier NEMA study iden- Massa as vice president for with that company's Calma
turers Association (NEMA). tified the lack of in-house ex- sales. All three have previously Division.
Both large and small firms pertise in software as a major worked for Imaging Tech-
share in the trend to automate, bottleneck in automation. The nology. ~ William D. Fletcher has
and systems integration is high new study indicates help is not been appointed vice president
on the list of factory automation seen as forthcoming from com- ~ Robert Turner has been of special projects by Allen-
projects. Flexible manufactur- puter and software vendors, promoted by LASR Robotics, Bradley. He had been head of
ing cells and systems are ex- who ranked last on a list of nine Inc. to U.S. district sales the company's Drives Division
pected to enjoy a four-fold potential sources of informa- manager. He has held several since 1980, and will be suc-
growth, and local area networks tion. Producers of manufactur- previous positions within ceeded in that position by
will increase three-fold. ing equipment were rated as LASR. Robert L. Swift, who was
formerly vice president and Co., Inc. He is chairman of the ~ Tactile Robot Systems and valuations, offshore facilities,
general manager of the Pack- board of trustees of the Educa- AnaPraxix, Inc. have formed a and interest in overseas joint
aged Control Products Divi- tional Foundation of America. joint venture to develop ad- ventures.
sion. Swift willbe succeeded by vanced software for robotic
Terry Nelson, who was that ~ Lester J. Colbert has joined control. The software will be ~ Teledyne CAE has ordered
division's director of opera- the board of directors of Adap- used in conjunction with tactile 11 Maestro systems from
tions. tive Intelligence Corp. Colbert sensors to identify, orient, and Manufacturing Data Exchange
is CEO, chairman of the board, place objects in materials (MDX). The Maestro product,
~ Colby Computer has an- president, and director of Xidex handling and assembly a DNC/Factory Feedback Sys-
nounced the election of Corp. Prior to joining Xidex, he operations. tem, will integrate 20 separate
Richard P. Ettinger, Jr. to the was with Reichhold Chemicals, NC machines with a Digital
company's board of directors. Inc. as vice president, board ~ Gould Inc. has announced
Equipment Corp. VAX-1l/780.
Ettinger was one of the original member, and member of the that it intends to reduce its
founders and chairman of the corporate executive committee. semiconductor operations, tak-
board of Wadsworth Publishing ing an approximate $250 ~ Microbot, Inc. has an-
million special write-off in the nounced its intention to enter
1985 second fiscal quarter. The the literary field with a series of
company cited continued new texts on applied robotics.
CORPORATE NEWS deterioration of the semicon- The four proposed books will
ductor market and resulting be part of a turnkey curriculum
~ International Roboma- Division. The new division has losses in its semiconductor that willbe used in conjunction
tion / Intelligence has an- also announced an exclusive operations. The write-offwillbe with the Microbot TeachMover
nounced a 300 percent in- agreement with Horyu Control used to address obsolete assets, and the Alpha II industrial
crease in revenues to $2.4 Engineering Co. Ltd. of Japan plant reductions, inventory robots.
million, making it the first vi- to sell and service the Japanese
sion company to report profits. firm's line of robot controllers PERSONAL ROBOTICS EXCLUSIVELY
IRI introduced its first vision in the U.S., Canada, and South FACTORY AUTHORIZED DEALERS
system in 1982 and has since America. HAVE YOU HEARD ABOUT SAVVY?
SAVVY is a natural language programming system lor the Apple II -. II E and
produced 400 systems for in- ~sO~tr1~~~
~ Parker Hannifin Corp. has ~~~g'~a~:~tal~duasr~ss.a~TSi~~.~a~~i~~;et6°~~~~~~c~h~Cr~i/i~i~~vi~I~/I?;~~~~
dustrial customers. Profits for as a robot control lan.9uage. Priced at 375.00 for the Apple version.
closer look at SAVVY wnte orcatl for our extensive catalog.
For a
company's Automated Factory the Japanese company Nitto 10-ln 1 Kit 199.95
Uses modular principle to build 10 diff-
GEMINI
GEMINEX Kit
6995.00
2995.00
6506.00
CALL
erent computer-controlled robots.
Systems Division, a supplier of Seiko Co. Ltd. VSI had been ~~~~~d~f:~~. ?~~a;'nl::fa~I:. Parallel.
A marvel. Three CPUs, voice recognition.
goal-oriented navigation, on-board disk
robotic and vision systems. the exclusive North American TECHNICAL INFO-WE
drive. detachable
CAN HELP. CALL
keyboard. and more.
distributor for Nitto Seiko Shipping Over $200 Add 4%. $200 And Under Add 5%.
Cash With Order Oeducl 3%. N.M. Orders Add 5% Sales Tax.
~ WMI Robot Systems, Inc., equipment modules and auto- Allow 4 Weeks For Delivery.
ONLY $39.95
o Please send copies of the 1985 Sensor
and Transducer Directory at $39.95 (includes postage and handling
costs). Total Enclosed $ .
Ll Personal Check 0 Cash 0 MasterCard 0 Visa
Overseas orders please add $8.00 for airmail postage.
9/85 RA
Signature
Name
Company Phone
Address
~ ~ ~
Send to North American Technology
......................................................
174 Concord St., Peterborough, NH 03458 (603) 924-7136