From GICL Wiki
Revision as of 21:15, 7 April 2010 by Urlass (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Assignment 1: "Meandering with a Mazy Motion"

In this assignment, you will use the Roomba model robot to navigate a maze. The roomba must navigate from the top left corner of the maze to the bottom right. You can use the coordinates in the maze to determine when your robot has reached the opposite corner (46, -46). Once your robot has made it to the end, the client should produce a graphical representation of the world that it has discovered.

You should start this assignment early, there are a lot of implementation details that are trickier than they might seem from this writeup.

Configuration Files

The configuration files are provided in this tarball.

Inside there is a client skeleton files which you are welcome to use or not use.

  • LimitedLaser - This robot only contains two IR wall sensors.
    • To run player maze-ir.cfg
    • NOTE: You may only use lp[0] and lp[360] from the LaserProxy. These represent your left and right IR wall sensors. Hint: You can also use the position of the robot.
  • Laser - This robot only contains a 180 degree laser.
    • To run player maze-laser.cfg
  • Sonar - This robot only contains 16 sonar devices on it.
    • To run player maze-sonar.cfg

Additional Requirements

  • You may not hard code turns or rely on anything particular to the provided maze (except in assuming the end position as the opposite corner).
  • You may use an imaging library of your choice to produce the image, or use a simple format such as BMP or XPM.

If you are not sure about the above requirements, feel free to email the TAs.

Extra Credit

Figure out how to get the Bump sensor working (it may or may not work with the existing Java API). Create another set of maze files, and navigate using only the bump sensor and the IR sensors.

This is worth up to five extra points.


  • Submit a tarball of your robot client code using Blackboard. The tarball should contain a README file with any necessary build instructions or peculiarities of your program.
  • If something does not work properly or is incomplete, you must say so in the README.


  • Robot reaches the end of the maze using a wall-following scheme: 12 total points
    • IR robot: 4 points
    • Laser robot: 4 points
    • Sonar robot: 4 points
  • Robot client produces a representation of the walls it's sensed: 6 total points
    • IR robot: 2 points
    • Laser robot: 2 points
    • Sonar robot: 2 points
  • Code is readable and documented: 2 point

Total: 20 points + E.C.



Expected Results


A bumper robot using left wall following.


The internal map representation for a left wall following bumper robot.