Cogs1 Spring 2007
Lab 4: Braitenberg Vehicles
Due by 11:30pm on Wednesday, February 28


Valentino Braitenberg is a neuroscientist who wrote a book called Vehicles: Experiments in Synthetic Psychology that was first published in 1984. He proposed studying principles of intelligence through a series of successively complex machines, which he called vehicles. The design of these vehicles have a strong biological motivation based on his many years of research on brains. Originally he intended this to be purely a thought experiment, but many of these vehicles can be easily implemented in simple robots. These vehicles demonstrate that even extremely simple mechanisms, when embodied in a robot that is situated in a rich environment, can exhibit surprisingly complex behaviors.

Here are several quotes from his book:

The purpose of this lab is to give you a chance to experiment with Braitenberg's vehicles. Then you will test out Braitenberg's hypothesis that when we observe a mechanism we tend to over estimate its complexity. To do this you will ask three individuals to watch and describe the behavior of several vehicles interacting with one another. You will report on their descriptions and analyze their responses.

Getting Started

  1. First, experiment with several of the vehicles I demonstrated in class. To do this, open a terminal window and type: pyrobot. To end your experiments, Stop the robot. Then from the File menu choose Exit. If, for some reason the pyrobot windows do not close properly, you can open another terminal window and type endpyrobot.
  2. If you'd like to test the "timid" brain, which can navigate a maze, you'll need to restart pyrobot. After selecting PyrobotSimulator as the server, choose the world Then choose the brain and press Run.

Gathering Observations

We will be using a world with three active robots that is inspired by the "helping behavior" experiment described on page 185 of the textbook. All three robots will be running the same brain, a variant of vehicle2b, which turns towards light sources. Two of the robots, colored purple and red, have light bulbs attached to their backs. All three robots have light sensors on their fronts and are attracted to light. In addition, each robot will recognize if it is stuck and will try to back away. The environment includes a small light source in the lower right corner. Below is a snapshot of this world.

  1. In a terminal window, do an update-cogs1 to get copies of all of the necessary files.
  2. In a terminal window, type: cd cogs1/labs/4
  3. Because we want to control three different robots, we will need three pyrobot windows. Rather than doing this by hand each time, I have provided you with a script you can run to initialize the experiment. In the same terminal window, type: ./start
    Note that this is a period, then a slash, then the word "start"
  4. Move the windows so that each one is visible. Then in each pyrobot window, press Run to start the robots.
  5. When you are ready to quit the experiment, go back to the terminal window and type: endpyrobot
Here are the files:

What to turn in for this lab

Invite three individuals to observe the behavior of the interacting robots described above. Give them at least five minutes of observation time and ask them to describe what the robots are doing. Record their reactions and discuss them. Do they use psychological terms to describe the robots (such as "likes", "wants", etc)? Do they posit more elaborate control mechanisms than are actually present? Do they think the behavior demonstrates some form of intelligence?

Email me your summary of the experiment.