Individual Assignment 2

Design a simple "foraging" robot in subsumption or schema-based style: the robots should wander around without bumping into things (i.e., avoiding obstacles) until it finds "food" (as indicated by the orange soccer ball). The goal then is to get to the food item and touch it. The success of your architecture will be measured in terms of the time it takes the robot to find food and get to it.

Details

This assignment will be carried out on the robot (not in the simulation), though a simulator may be used for testing. For this and all future projects, we will use the Pioneer agent. In addition, we will use the camera for this assignment. This, in turn, requires you to use the Framegrabber server (which is another AgeS server that handles images retrieval from the framegrabber) in addition to the Pioneer server. For more details, please consult the notes on AgeS and the actual files on robot (in /usr/local/cse498f/) for details about AgeS. As part of this assignment, answer the following questions in a comment section at the beginning of your answer files:
  1. What kinds of behaviors did you need? List all behaviors with a short functional description of what the behavior is supposed to achieve
  2. What is the dependence of the behaviors among each other? Briefly describe how this collection of behaviors is supposed to achieve the task.
  3. Draw an architecture diagrams for the architecture with boxes indicating behaviors and arrows between boxes indicating information flow and dependence. In particular, for the subsumption-based solution, indicate the layers clearly and use arrows for the I, R, and S links as well as message passing links. For the schema-based architecture, draw a "type diagram" of perceptual and motor schemes, similar to the one in Arkin's book, and indicate triggering conditions of schemas.

Please submit your code (in files "Subsumption.java" or "Schema.java" by February 25 in your dropbox in the course directory:


/usr/local/courses/cse/cse498f.01/dropbox