The spherical map system is provided to allow for a persistent record of sonar data received by the robot. The map is 'spherical', or more accurately dual-cylindrical, in that the data within the array is not moved as the robot moves. Instead, the system keeps track of the robot's location within the map. When the robot moves, the map behind it is erased to clear the way for new data ahead of it. This version of the code provides the following improvements over the previous version: * Erases the map properly. If the robot has moved more than the grid size of the map, then it is necessary to erase more than one line from the map. It now does so. * Update the robotx and roboty properties before adding new sonar data. Failure to do so will result in the map being misaligned. * When a sonar reading is received, all points on the map between the robot and that point are decremented. Among other things, this helps erase transient readings, such as those caused by a moving object. * The print_map() function has been modified to print the map with the robot at the center. The robot's position is indicated by an 'RR'. Also, all data points are now two characters wide. This allows printing of values >9. Points with zero readings are printed as '..'.