A robot does not have to have range sensors (sonar sensors) in order to execute a wall-following algorithm. The Rug Warrior has three touch sensors, two infrared emitters and one sensor, shaft encoders, and two light sensors. The purpose of this project is to build a behavior-based controller that will allow the rug warrior to roam the halls of a building and remember where it has been
Start by familiarizing yourself with the robot and its capabilities by programming the robot to perform a series of tasks in Interactive C. Interactive C, is a programming environment available for the Rug Warrior (as well as the Handyboards used in the Extinguisher project. An online reference is available, as well as documentation in the Rug Warrior's assembly guide.
The basic idea is to build a program that will follow walls in an indoor environment.
Once the wall follower is working, the final task is to keep track of "landmarks," i.e., large right- or left-turns. Then, add the capability of returning to the robot's approximate starting point upon hearing a signal (a clap or another loud noise). Basically, the rug warrior should reverse direction, start following the wall on its other side, and stop when it has passed the "landmarks" it encountered on the trip out.
You might also consider creating landmarks (bright lights that would be picked up by the photodetectors, for example) to help this homing procedure.
I apologize that I haven't written a more detailed description of this, I'll let you know when the specification is revised.