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