Snuffy is designed to do the Trinity Firefighting contest to the 2001 rules.  He will do the options for starting with a sound, non-deadreckoning, return and arbitrary start (no furniture).

The general outline of what the software does follows:

1.      Find out what room the robot is placed in initially and go to a known location relative to that room.  This includes:
    Pivot while scanning with IR range sensors to find a nearby wall.
    Turn toward the wall.
    Move forward or reverse to get 9 inches from the wall (standard running distance)
    Follow right side wall until reach an end of the wall (the door or the first right turn after the door).
    Ascertain which room it was by measurements taken near where the door is found.
    click for more details on step 1.

2.    Follow a scripted path which will navigate to each of the other three rooms and determine if there is a flame in the room and the direction of the flame.
       Navigate to a room, enter the room fully. 
       Pivot 180 degrees to aim out of room while reading UVtron to determine if there is a candle in the room and, at the same time, use the Eltek pyroelectric sensor to determine the direction of the hottest source in the room.

       If flame is not found, exit room and proceed to next room.
       If the UVtron detects a flame, continue the pivot until pointing in the direction of the hottest source detected.

    If flame is found, go to step 3.

    click for more details on step 2.

3.    Proceed forward until reaching the white circle around the candle.
       If the wall is encountered before the white circle, perform another pivot scan as in 2 above and repeat 3.
       Blow forward and to left and right sides by pivoting.
       Perform another pivot scan to verify the candle is out.    If so, go to step 4.  If still lit, repeat 3.

    click for more details on step 3.

4.    Turn to approach the wall to the left of the candle. 
       Follow the right wall to the door.  (room 4 handled as special case)
       Follow a scripted path to navigate from the door of the candle room to the start room.

    click for more details on step 4.

The above scheme works pretty well for room 1,2 and 3.  The small room 4 is the only one where the door is on the right side of the wall.  Hence, the robot does roughly the same thing as above, but in the opposite direction.