From GICL Wiki
Jump to: navigation, search


Assignment 1: "Meandering with a Mazy Motion"

In this assignment, due by the start of class Week 3, you will use the Roomba model robot to navigate a maze (configuration files provided Media:maze-config.zip). The roomba must navigate from the top left corner of the maze to the bottom right. You can use the PositionProxy class to determine when your robot has reached the opposite corner. Once your robot has made it to the end, the client should produce a graphical representation of the world that it has discovered.

Configuration Files

The configuration files are provided Media:maze-config.zip.

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.

  • Bumper - This robot only contains two bumper sensors and two IR wall sensors.
    • Edit bumper.cc as your client file.
    • To run player maze-bump.cfg
    • NOTE: You may only use lp[0] and lp[360] from the LaserProxy. These represent your left and right IR wall sensors.
  • Laser - This robot only contains a 180 degree laser.
    • Edit laser.cc as your client file.
    • To run player maze-laser.cfg
  • Sonar - This robot only contains 16 sonar devices on it.
    • Edit sonar.cc as your client file.
    • 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.


  • Email your robot client code to both TAs with a README file containing any necessary build instructions.
    • The file should be called YourNameHW1.{zip,tar.gz,tar.bz2}.
    • Please use the subject line "Robot Lab Homework 1."
  • If something does not work properly or is incomplete, please 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.