A computer program implements parallel-processing algorithms for correlating images of terrain acquired by stereoscopic pairs of digital stereo cameras on an exploratory robotic vehicle (e.g., a Mars rover). Such correlations are used to create three-dimensional computational models of the terrain for navigation. In this program, the scene viewed by the cameras is segmented into subimages. Each subimage is assigned to one of a number of central processing units (CPUs) operating simultaneously. Because each subimage is smaller than a full image, the correlation process takes less time than it would if full images were processed on one CPU. Segmentation and parallelization also make the process more robust in that the smaller subimages present fewer opportunities for a correlation algorithm to "get lost" and thereby fail to converge on a solution. The effectiveness of this program has been demonstrated on several parallel- processing computer systems. Whereas correlation processing of a typical stereoscopic pair of test images on a single CPU was found to take on the order of one hour, parallel processing of the same images on a 16-CPU cluster was found to take about 3 minutes.

This program was written by Gerhard Klimeck, Robert Deen, Michael Mcauley, and Eric De Jong of Caltech for NASA's Jet Propulsion Laboratory.

This software is available for commercial licensing. Please contact Karina Edmonds of the California Institute of Technology at (626) 395-2322. Refer to NPO-30631.

NASA Tech Briefs Magazine

This article first appeared in the September, 2007 issue of NASA Tech Briefs Magazine.

Read more articles from the archives here.