CS 151 Homework 9 — Braitenberg Vehicles in Pyro

Due by class time Tuesday, November 15

This assignment introduces Braitenberg vehicles and the Pyro robot simulation software. You will create your own Braitenberg-like vehicle in Pyro and test it out in the Pyrobot Simulator. Remember that the point of these vehicles is to see whether a very simple control mechanism that links sensors directly to motors can lead to interesting emergent behavior. Feel free to create your own world for the Pyrobot Simulator. You may also add multiple robots to your world if you wish.

  1. Read articles #13 and #14 in your supplementary reading packet:

  2. Read through the online Introduction to Pyro and try out the given examples using pyrobot on the Pomona Linux machines. You should focus mainly on the subsections on Effectors, the Pyro Interface, Robot Attributes, Simulators (only the Pyrobot Simulator), Sensors, and Brains.

  3. Next, read the Overview of Pyro Objects and the explanation of Direct/Reactive Control.

  4. Once you are comfortable with the Pyro tools, create your own Braitenberg-like robot brain and try it out in the simulator, using one of the built-in worlds or one of your own creation. Your robot should be a Type 4 vehicle that responds to both light sensors and range sensors (sonars) in nonlinear ways. (You might want to look at the BraitenbergVehicle4.py brain included with Pyro for inspiration.)

  5. Just for fun, once you are satisfied with your vehicle, invite a few of your (non-CS) friends to observe its behavior and explain what it is doing. Do they use psychological terms to describe what the robot is doing or do they talk about it in an algorithmic way? Do they think the behavior demonstrates some form of intelligence?

Turning in Your Homework

If you have questions about anything, just ask!