Classic Computer Magazine Archive 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.