Results from the VIPER Project

Fabio Cozman
Carlos Ernesto Guestrin


The VIPER system has been tested in a variety of environments, with a variety of data. We have tested it primarily with images collected in Pittsburgh, with our own calibrated platform. The platform features a color camera, an electronic compass, electronic inclinometers, and a differential GPS system. With this apparatus, we are able to record all information about our tests and check accuracy for our results, which are in many cases comparable to civilian GPS accuracy (!!).

The Pittsburgh map that we used is a 7.5 minute Digital Elevation Map, supplied by the USGS (United States Geological Survey) and can be freely distributed and available for download.

Looking at the map, you recognize two rivers: the Allegheny (above) and the Monongahela (below), which meet downtown. Carnegie Mellon University is approximately at the middle of the map.

We first composed a panorama from images taken May 1997, at 43rd Street (where it meets the Allegheny river). A GPS measurement indicated that the images were acquired at 40.474350 degrees North (latitude) and 79.965698 degrees West (longitude). The heading of the camera was measured with a digital compass, and corrected for the magnetic variation at Pittsburgh, which is +8.5 degrees westerly. The camera was kept horizontal to within 0.1 degree with help from a dual inclinometer system has sub-degree accuracy with respect to angular features.

Now the system is called to find the skyline; the user can suggest regions where no natural features are present. Note the red contour superimposed to the skyline by the system.

The system is now instructed to look for the best position estimate in a given area, given a tolerance for the orientation. First, we just requested an estimate to be found using the whole map (which is 10740 meters wide by 14040 meters high, a 150 square kilometers area), taking the compass measurement as correct.

The correct position is the point (98, 372) in the map; the system's best estimate is the point (95, 370). Since the map is a 30 meter grid, this result means that the error is 108 meters. The figure below shows the shape of the posterior distribution generated by the system (the prior distributions was chosen as a uniform distribution so as to avoid any biases in the system). The right picture is a zoom in the area where the best estimate is; note the peak in the posterior distribution.

Another way to feel to check the peak in the posterior distribution is to plot this distribution in 3D; here is a detail of this plot:

To exercise the system the most, we considered a tolerance of plus/minus 15 degrees in orientation, which is much larger than the accuracy of our compass. The resulting search regions is much larger than what we expect to see in real lunar missions; our objective was to prove the robustness of the system. Not surprisingly, the extreme freedom in searching for orientation degraded a bit the performance; now the best estimate was the point (94, 368), an error of 169 meters.

We have also exercised the system at other locations in Pittsburgh.


For another example, one that produced even better results, consider the Utah data provided to us by Professor Thompson from University of Utah, which covers an area 14 kilometers high and 21 kilometers wide (approximately 300 square kilometers).

We obtained a panorama created by Professor Thompson and asked the system to find the skyline.

From there, the system was able to produce an estimate of position with error of 128 meters (!!); the estimate did not change even as the orientation tolerance was set to plus/minus 15 degrees. We cannot provide more information about the correct and estimated positions; the Utah group has requested that people interested in those values contact them directly.

Note how peaked is the posterior distribution (again for uniform prior); this is due to the fact that the panorama above is very dramatic and really contains enough information to indicate the correct position accurately. You probably cannot even find the estimate in the left image, which covers the whole map; the left image contains a small portion of the map around the best estimate.


Finally, there is data from the Atacama desert, which is used in connection to our participation in the Atacama Desert Trek. The map of the Atacama desert covers a gigantic area (approximately 100 by 200 kilometers); we test the system in a block in the middle left of the map, which is almost 300 square kilometers in area.

Carlos Guestrin took a panorama close to the robot base for the Atacama Desert Trek, and the system was used to find the skyline. The panorama was taken at latitude 23.51793000 degrees South, longitude 68.64244000 degrees West. This is the point (578, 429) in the map.

Carlos reports results with 180 meters accuracy from this panorama (!!); the best estimate was the point (580, 229). This is an exceptional result considering the size of the area where the robot can be.

More data from the Atacama desert is to be displayed as it is processed and sent from the robot base. Here is the posterior distribution.


This work has been conducted at the Robotics Institute at the School of Computer Science, Carnegie Mellon University. It has been partially funded by NASA; Fabio Cozman has a scholarship from CNPq (Brazil). We thank these four organizations for all their support.