A computer program coordinates operations of multiple cooperating rovers (small exploratory robotic vehicles deployed from a lander spacecraft), each of which is equipped with computer hardware and software that schedule the tasks assigned to it. The program implements a contract net protocol — a type of coordination protocol commonly used in distributed artificial intelligence. In a contract net protocol, a manager announces a task to a set of contractors, each contractor bids for the task, and the manager awards the task to the contractor with the best bid. In the present program, the lander (manager) incrementally transmits tasks to each rover (contractor). Upon receiving a task, a rover tries to fit the task into its current schedule. If the rover can do so, it bids the total distance it would have to travel to complete all of its tasks (including the newly inserted one). Rovers that fail to fit the task into their schedules within a time limit do not participate in the auction. Upon receiving all bids, the lander awards the task to the rover with the smallest bid.

This program was written by Steve Chien, Gregg Rabideau, Tara Estlin, and Anthony Barrett of Caltech for NASA’s Jet Propulsion Laboratory. For further information, access the Technical Support Package (TSP) free on-line at www.nasatech.com/tsp under the Information Sciences category.

This software is available for commercial licensing. Please contact Don Hart of the California Institute of Technology at (818) 393-3425. Refer to NPO-20940.

NASA Tech Briefs Magazine

This article first appeared in the January, 2002 issue of NASA Tech Briefs Magazine.

Read more articles from the archives here.