From GICL Wiki
Revision as of 13:24, 1 April 2010 by Urlass (Talk | contribs)

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 are client skeleton files for each of the three robots you will have to use. For each of the three robots, you should create a wall-following algorithm and output a file which represents the world as that robot viewed it.

  • 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.


  • 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
    • Bump robot: 4 points
    • Laser robot: 4 points
    • Sonar robot: 4 points
  • Robot client produces a representation of the walls it's bumped: 6 total points
    • Bump robot: 2 points
    • Laser robot: 2 points
    • Sonar robot: 2 points
  • Code is readable and documented: 2 point

Total: 20 points



Expected Results


A bumper robot using left wall following.


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