% -*- TeX-master: "dp2.tex" -*-
% $Id: introduction.tex,v 1.2 2004/05/06 16:51:44 dan Exp $

This report presents a design for an autonomously-controlled system
for managing rovers on Mars. It addresses the problems of dealing with
lossy communication using a acknowledgement-based protocol, deals with
sensor faults by repeating experiments, and schedules experiments and
assigns them to rovers using a greedy algorithm that allows for
batching of multiple missions, cooperative work with multiple rovers
on the same mission, and variable prioritizing of individual missions.

The Mars Rover project can most easily be split into three components:
communication protocol, mission distribution, and mission execution.
The problems associated with communication protocol are relatively
straightforward and include message authentication, error detection,
and the location of other rovers within broadcast range.  Also, the
section deals with authentication to avoid confusion from Poodles, and
ways to make communication more reliable.  Mission execution includes
the handling of sensor failure and ways for multiple rovers to
coordinate on missions.  Also, we discuss an idea for how to make data
more likely to make it back to central control.  Mission distribution
encompasses a wider range of issues.  Most important, there is the
basic algorithm for scheduling missions and distributing those
missions among the rovers.  Also, it describes design details that are
intended to deal with rover failure, amendments, and the scheduling of
data upload.

