This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: CS221 Problem Set #4 Programming Part 1 CS 221, Autumn 2009 Problem Set #4 Programming Assignment Due by 9:30am on Tuesday, December 1. Please see the course information page on the class website for late homework submission instructions. SCPD students can also fax their solutions to (650) 725-1449 or e-mail to [email protected] Programming part (30 points) 1 Overview For the programming part of this assignment, your programming team (1 to 3 people) will use Markov localization to locate and track the position of a robot on a map given a history of the robot’s actions and percepts. This history, however, is not reliable; the robot does not always do what it thinks it is doing nor does it always sense what it thinks it is sensing. 1.1 Data Set The assignment involves two main pieces of data, both of which were generously created for the CS221 class by Mike Montemerlo. The first is the actual map being used to locate the robot (see gates1.ppm shown in Figure 1 ). This map is a .ppm file that you can actually view (try using the command display <filename> ). In this particular instance of the localization problem, you will be using a partial map of the first floor of Gates. Blue pixels represent unknown regions (areas that were never scanned, usually because they are outside the building). The rest of the pixels range from white to black: the darker the pixel, the more likely it is to be an obstacle. In practice, we simply categorize each of these as “free” or “occupied”, where a pixel is free if its chance of being an obstacle is below a certain threshold. The second main piece of data involved in the assignment is the robot’s log file which contains a history of the ‘dead-reckoning’ positions the robot thinks it is moving to, as well as various sensor readings the robot has taken in its journey through the CS department. The sensor readings give the distance to the nearest obstacles in the east, north, west, and south directions (where north is considered to be the “up” direction in the map file being used). The positions recorded are calculated from the actions that the robot thinks that it is taking. The file also contains the true position of the robot, which we can use to evaluate how well the localization algorithm is doing. Understand that both the actions and the sensor readings are far from perfect. First, the ‘dead- reckoning’ positions are calculated from how much each wheel of the robot has turned. Wheels, however, have a tendency to slip on the floor and errors tend to accumulate. Second, the distances measured to the closest obstacles were gathered using laser-rangefinders. While these sensors are very robust and accurate as far as sensors go, they still suffer from certain limitations involving long distances and off-angle reflections....
View Full Document
- Fall '09
- Normal Distribution, Probability distribution, probability density function, Continuous probability distribution