Assignment 2 is based on robotic SLAM (simultaneous localization and mapping).
Your Roomba will be placed in a random location in a rectangular arena of unknown dimension. The arena will have an unknown number of Roomba invisible walls (IR walls projecting a cone) pointing into the arena. Your Roomba must explore the arena and provide a map of the arena including an estimate of the dimensions of the arena, the location of the invisible walls, an estimate of the number of invisible walls, and an estimate of its original starting location. In order to allow all students to get time in the arena, your Roomba must do this in 10 minutes, and your procedure must terminate.
Your source code will need to output the dimensions of the arena and have one of the TAs check this at the end of the execution (physically show the printout to the TA).
Your source code will also need to generate 2 bmp files (see [http://en.wikipedia.org/wiki/Portable_Bitmap_File_Format http://en.wikipedia.org/wiki/Portable_Bitmap_File_Format] ) and a printout of the mapping from X and Y pixel dimensions to real world dimensions (e.g. each pixel represents an area of 6 inches by 6 inches) which must also be shown to the TA upon completion. The two bmp files will contain your automated mapping of the arena, "startpos.bmp" will plot the estimated position of your Roomba at the beginning of the execution, and "wallmap.bmp" will plot the locations of the invisible wall fields in the arena. You should use zeros for the arena background and ones for the locations of the invisible wall fields and your Roomba's initial location estimate.
You should create a short writeup of this lab (2 pages at most) which details your strategies/algorithms/ideas for performing this lab, and references or other resources you used, any problems you encountered and how you overcame them. If you tried multiple different strategies before your final one then describe the progression).
deliverables: source code bmp file map short writeup--strategy, answer for how many walls, scale of bmp file (bits to feet in the real world), dimensions of the maze (this should correspond to the map), problems encountered, conclusions
1 consists of 3 parts, which basically amount to the Freshman robot design lab course.
Assignment 1 will be further refined, but this is a good starting point for you to work towards.
Have the Roomba exit a predefined maze (this may not be the exact maze, we will update this) by dead reckoning.
see Winter 2007 Challenge 1 for more information about the task, but note that this is not the actual maze.
The actual maze will be the hallway of University Commons. Below is a map of the hallway in University Crossings between room 147 and room 151. You will start at room 147 and follow the path indicated by the yellow arrows towards 151. You should avoid all of the colored squares in the hall. Each tile in the hallway is 1 sq. ft.
Implement a general maze exiting strategy (such as DFS/wall following) for the Roomba to exit a maze.
see Winter 2007 Challenge 2 for more information.
You will not be graded on the time it takes your Roomba to exit the maze, only that it succeeds in exiting the maze.
Have the Roomba sing a song.