Intelligent Autonomous Agents

ICS 606 / EE 606

Assignment #1 - Robotic Vacuum in Common Lisp

This is a regular assignment and counts 100 points toward your assignment grade.

You may (optionally) work in groups of 2 or 3 on this programming assignment. Each person must complete and turn in an individual report with code and tests.

Your assignment is to design, implement, test, and report results on the project described below. Notice that there are several extra credit options.

  • Start with the simple Vacuum cleaner agent code provided by Norvig & Russell.
  • Open http://aima.cs.berkeley.edu/lisp/ . Then download the file code.tar.gz and unzip it.
  • Alternatively, a local copy of the unzipped code is here.
  • Documentation for the code is at http://aima.cs.berkeley.edu/lisp/doc/overview.html

    Make the following enhancements (copy and modify the code, you do not need to re-write from scratch).

    1. Larger rooms (rectangular) [ very easy ] - limit your rooms size to maximum 40 by 40 cells.
    2. Enhanced mobility (move in 4 directions - up, down, left, right)
    3. More/better sensors - detect amount of dirt (integer) under vacuum and whether any of the cells you can move to is blocked (4 cells).
    4. sense the amount of dirt in the cell you are in (correlated to units of dirt)
    5. a "view" of the 4 squares next to you that can be reached in one move (up, down, left, right). Sensors can return simply "blocked" or "not-blocked", in each direction.
    6. Model and avoid furniture and non-moving cats
    7. Maintain an internal "map" of the area and where you have cleaned, to be able to report the time it takes you to clean every available square at least once. (goal-based agent)
    8. Read in scenario files for different sized rooms, dirt factors, furniture locations, and cats. You may assume that the files contain only numbers.
    Extra Credit

    Follow the link below for file input format description and examples.

    Due Date: Fri (midnight), 6th week of class. [email to nreed@hawaii.edu]

    Turn in your code, transcripts of testing and running it, and a report on your solutions.

    Back to the course homepage.

    (c) N. E. Reed, 2005-2009