VIRTUAL BEHAVIOR-BASED ROBOTICS LAB:
The Ethology Task

Roboethology

Introduction

You are now a "robot" ethologist. An ethologist is a scientist who tries to learn why animals behave as they do by studying them in their natural environments. By careful observation the ethologist begins to understand what events and objects the animal notices, and what rules or principles guide the animal's reactions to those events. This sounds easy enough, but building a theory about the causes of behavior from such observations can be quite difficult. One of the reasons for this is that very simple systems of rules can give rise to surprisingly complicated behavior. Observers sometimes have trouble seeing the simple rules behind the behavior, tending to attribute more complexity than is really there.

This same principle is at work in behavior-based robotics, where the rules that govern how a robot behaves are often quite simple indeed. But the final behavior produced by the robot depends on how those rules interact with the environment in which the robot operates. In the Rroboethology Task you will play the role of the scientist observing robot behavior and trying to figure out what rules are creating it. The exercise is designed to help you understand one of the most basic ways of making a robot behave in an intelligent way.

The Logic of Behavior Hierarchies

Imagine a simple robot, let's call it Critter, that responds to bright light by moving toward it, responds to loud sounds by moving away from the noise, and reacts to contact with an object by backing up and turning to avoid it. Programming these responses into Critter can be done fairly simply, but once we have these behaviors in place, we have one more very important problem to solve. At any given moment in time, which one of these things should Critter do? Consider a very special kind of problem that can develop. Imagine that light and noise occur at the same location at the same time. Given the rules by which Critter operates, it is both drawn to the source and repelled by it. If it approaches the light, it violates the rule to run from the sound, but if it runs from the sound, it violates the rule to approach the light. This is the problem of behavior arbitration. When a robot has conflicting goals, how does it decide which one wins out?

There have been many answers to this question in the history of robotics, but one of the simplest was suggested by Rodney Brooks in the 1980s. Brooks had become impatient with the standard world-modeling approach to building autonomous robots, which depends on complex, high-level goals and elaborate decision-making systems in order to select the actions the robot should take. These systems are often very slow, difficult to implement and test, and prone to very dangerous mistakes, especially during their development. Brooks took his cue from the strategies that seem to explain behavior in insects and other relatively simple animals. Although unlikely to win prizes for creative brilliance, they do a remarkably good job of keeping these creatures alive and functioning.

The idea is to think of the world as its own best model, always up to date. No complicated internal models are needed if the Critter just keeps track of what things are like from moment to moment. Different kinds of events in the world can then be set to trigger specific actions directly, without going through any kind of elaborate decision process. Some of those world events are more important to the Critter than others, so, if more than one event occurs, the action chosen is always the most important one (the one with the highest priority).

To see how this might work in a biological critter, think about moths. Moths engage in three kinds of very important behaviors: they seek out food, they release (if female) and track (if male) pheromones so they can get together to mate, and they try to avoid predators like bats. Mating and finding food are obviously very important, but if a moth hears the ultrasonic sounds that a bat makes when it is hunting, it stops trying to mate or find food and instead flies away from the source of the bat's chirping. The sound of the bat suppresses the other behaviors and triggers flight, even if the air is filled with the smells of mates and food. Once the bat is no longer heard, the moth is free to respond to food or the possibility of mating. We can describe the behavior hierarchy of the moth in a drawing like this.

In the exercise you will do, the robot has the ability to do more than three things. Those behaviors are also organized in a hierarchy, but you will not know what the hierarchy is. Instead, you will watch the robot run around in a simple area, just as an ethologist watches animals behave in the wild. Your task will be to figure out the robot's behavior hierarchy by watching very carefully how it acts. Make notes about the robot's behavior, and try to think about which ordering of behaviors would be most likely to produce the actions you observed. Once you have an idea about the likely order, you can test your hypothesis by building a hierarchy using the graphical interface. Keep trying and testing more hythpotheses with the goal of discovering "the" hierarchy that produces the behavior you observe. There is an "Examples/Help" button that will explain how the sensors and motor responses actually work and show you some videos of simple hierarchies -- which can help you to figure out why each hierarchy produces the behavior that it does.

Now it is time to enter the "Robotethology" Lab. You will find a mobile robot with some fairly complicated behaviors. You need to create the "programming" (the hierachy) that will produce EXACTLY the same behavior. You are not required to use ALL of the behaviors in your hierachy. You may need them all, to produce the "target" behavior or you may not. You have to figure that out.

Okay, now it is time to enter the lab and become a "roboethologist"!

 

Congratulations. You have now completed both of the "behavior-based" virtual labs. The only thing left to do is reflect on what kind of "programming" guides human beings' behavior. Return to the table of contents and do the last task: II.C."Is the Human Control System "Top-Down" or "Bottom-Up"?