COMPUTE! ISSUE 37 / JUNE 1983 / PAGE 18
Computers And Society
David D Thornburg,
Associate Editor
Androids
And Robots
The rain stopped falling as soon as
he pulled his car into the parking lot at Polaris Astronautics. He was
an hour early for his appointment, but his host had told him to come
early for a plant tour. As soon as he checked in with the receptionist,
he was greeted by his "tour guide."
"Hello, Dr.
Calder. We at Polaris are glad you could visit today. I will conduct
you on a guided tour prior to your meeting with Dr. Clevis in the
propulsion laboratory. My name is BO-3, but most people call me
Bothrey. I have been trained to recognize your voice, so if you have
any questions, please don't hesitate to ask me to help you."
Jon Calder looked
at Bothrey as he (or it) wandered (or wobbled) down the hall. He knew
of recent advances in android design, but he hadn't expected to find an
android working as a tour guide. As the tour progressed, he thought
about all the time he had wasted at his company by personally escorting
dignitaries on a "dog and pony show." The more he thought about it,
this was a perfect application for androids. What he didn't know was
that Dr. Clevis had even greater applications in mind ....
Is the preceding account fictional? As of this month it is, but I
believe that by the end of 1983, androids like Bothrey will be serving
us in capacities similar to the one mentioned. To understand why I can
make this prediction, we need to first understand what an android is
and how it differs from its robot cousins. Next, we will explore some
of the advances that are needed to make creations like Bothrey possible.
Robots, the topic of last month's column, are
mechanical devices that are controlled by external computers. For
example, the Androbot robot, TOPO, is controlled by an external
computer such as an Apple II using a language such as Logo. Androids,
on the other hand, are totally self-contained. The distinction I make
between robots and androids is that an android not only has a
self-contained computer, but it is able to adapt its programs on the
basis of information it receives from its sensors. Because this field
has only recently crossed the boundary from fiction to reality, there
is no universally accepted definition of these terms. In this column, I
will use the word android to
refer to a mobile, self-adapting computer
system.
Adaptable Androids
Do commercially available androids exist today? The answer to this
question is "Yes." Both the Heath HERO-1 and the Androbot B.O.B.
(meaning Brains On Board) are androids by my definition. They both have
sensors that convey information from the outside world and can be
programmed to use this information to adapt to their environments.
What kinds of things can an android do today? Since
I am most familiar with B.O.B., I will outline its characteristics.
B.O.B. is equipped with five ultrasonic sensors (of the type found on
Polaroid cameras) and two infrared sensors. The ultrasonic sensors
allow the android to create a map of its environment and to note the
location of objects such as chairs, tables, sofas, people, walls, etc.
If B.O.B. had ultrasonic sensors alone, it wouldn't be able to
distinguish between people and inanimate objects. The infrared sensors
provide the extra data needed to help identify the existence and
location of humans. Unfortunately, B.O.B.'s infrared sensors can also
identify other warm objects such as fireplaces. While B. O.B.'s vision
is quite limited at this time, one can expect androids to have more
sophisticated image-processing equipment in the future.
Because of the complexity of its mapping and moving
tasks, B.O.B. is controlled by three 16-bit microprocessors. One of
B.O.B.'s early tasks was to seek out humans and engage them in
conversation, tell jokes, and follow people as they moved. The nature
of
B.O.B.'s tasks is determined, of course, by the software it runs.
The software to control an android must be quite
sophisticated. Rather than programming the device to perform specific
well-defined tasks, the programmer must make the android exhibit
certain behaviors when it encounters certain situations. To be truly
flexible, an android should be able to pick and choose among several
options, based on prior experience with a given situation. If it is
provided with enough strategies, an android can make note of which
strategies work in which situations, and dynamically adapt its programs
to favor the use of these appropriate strategies. In humans we call
this "learning from experience."
Asimov's Three Laws
If we accept that such program environments can be built, what basic
behaviors should an android exhibit? In the 1940's Isaac Asimov
developed the famous "Three Laws." (He wrote a guest editorial on this
topic that appeared in the November 1981 issue of COMPUTE!.)
While Asimov uses the word robot to describe what I have been calling
an android, these laws are useful for both types of devices:
1. A robot may not injure a human
being, or, through inaction, allow a human being to come to harm.
2. A robot must obey the orders given it by human beings except where
such orders would conflict with the First Law.
3. A robot must protect its own existence as long as such protection
does not conflict with the First or Second Law.
(from I, Robot, 1950)
How can androids be programmed to obey these laws?
Keeping in mind the relatively early state of development at this time,
one can still see where these laws have been incorporated into android
behavior.
First Law behavior can take many forms. In androids
such as B.O.B., it requires that the device not run into people. When
approaching a human being, B.O.B. automatically stops a foot or so away
and can be programmed to keep its distance from someone, even if the
person is moving.
The first part of the Second Law is the goal of
every programmer. Who among us hasn't wished for a computer command
called DWIM (Do What I Mean)? Having an android obey its user's in
structions is essential if these devices are to serve any practical
purpose.
As for the first part of the Third Law, androids can
be provided with an ultrasonic sensor that looks down towards the floor
at a 45 degree angle. Through use of this sensor, the android can avoid
open elevator shafts, staircases, and other dangerous situations that
would gum up the drive mechanism.
While it is easy to see how android designers can
incorporate at least parts of the Three Laws into their device's
behavior, there are portions of the Second and Third Law that will
prove to be quite challenging. These parts require that one law be
obeyed unless the resultant behavior causes it to come into conflict
with an earlier law. It is interesting to note that many of Asimov's
robot stories center on conflicts arising from this hierarchical
structure of the Three Laws. For those of us working with the
nonfiction aspects of these devices, these laws give us much to think
about.
Robot Personality
It is quite important that a programmer choose an appropriate language
when modeling robot behavior. Fortunately, languages such as Logo and
LISP provide an excellent linguistic environment for this application.
These languages are extensible list-processing environments that can be
used to create adaptive programs.
Rather than work with an android directly, it is
easier for a designer to develop android-control programs using a
remotely controlled robot driven by a separate computer. In fact, much
work in this field can be done with no robot at all! Powerful versions
of Logo (such as those for the Apple II and DR Logo for the IBM PC)
provide the listprocessing environment as well as a "screen robot"
called the turtle. Various obstacles can be programmed to appear on the
screen, and the turtle can be made to move in response to an adaptive
control program. One can monitor the robot's behavior just by watching
what happens on the display.
Of course, the real fun comes when a set of
programmed behaviors is tried on a real robot. Some of the funniest
things I have seen have come from watching an android behave
"strangely." How do you respond, for example, to an android that moves
partway down an otherwise empty hallway, stops, turns to face a blank
wall, and starts talking to it? Androbot founder Nolan Bushnell has
suggested that robot personality is actually a collection of program
bugs.
While androids for the consumer market are just now
a reality, one might well ask how they will be used. Fortunately, we
have over 40 years of science fiction stories to help answer these
questions. Androids can be used for tasks as diverse as helping with
the grocery shopping, "watching" the children for a few hours, greeting
guests, patrolling the house at night - the list is endless.
It is important that we all become sufficiently
familiar with the capabilities and limitations of androids and robots
to be able to use them effectively. Far from being menacing machines
that deprive people of their livelihood, domestic robots and androids
have the potential to enhance our lives in many ways. The extent to
which they do rests largely with us, for we will write the programs
that will shape the "behavior" and "personalities" of these creations.