What is the Remote Agent experiment?
It is a computer software experiment on board Deep Space 1 that represents a big step forward in spacecraft autonomy. It is designed to allow spacecraft to make a wider variety of decisions for themselves than they have been able to in the past. Deep Space 1’s remote agent software is capable of planning and executing many activities onboard the spacecraft, with only general direction being given from ground controllers on Earth. In contrast to remote control, this software acts as an autonomous "remote agent" of controllers because they rely on it to achieve particular mission goals. Ground controllers do not tell the agent exactly what to do at each instant of time as they do with conventional spacecraft; rather they assign it more generalized tasks.
What implication does this technology have for space exploration?
The real benefit of spacecraft autonomy is to enable a new kind of space exploration where the spacecraft will face much higher degrees of uncertainty. These missions include exploring the oceans of Europa, and the terrain and atmosphere of Venus. The remote agent software will also allow a faster response by the spacecraft to in-flight situations when ground controller intervention is not possible due to communication delay. For instance, autonomy capability is needed to maneuver a spacecraft in a hazardous environment such as landing on an active comet where there are dangerous flying rocks. Furthermore, mission development and operations costs will also be reduced. The magnitude of the benefits is difficult to quantify, however, and cannot be realized through flying the remote agent on one or two experimental flights. The full benefits of this software can only be realized over time, and by maturing the technology through use on many future missions.
Why has NASA not used this technology before?
The remote agent technology was not available in the past. It is only made possible by recent advances in computer and software technologies. The New Millennium Program is demonstrating this revolutionary new technology in space so that it assumes the risk of first use so future science missions can benefit. Although this exciting technology is available now, it is new and it will take much use to reach maturity.
How does the Remote Agent software work?
The Remote Agent software uses model-based reasoning algorithms, constraint-based, goal-directed planning and execution algorithms, and a fail-operational fault-protection approach. Specifically, the software includes a "planner/scheduler" that generates a set of time-based and event-based activities, known as "tokens." These tokens are delivered to an "executive," which is also a part of the software system. The executive makes decisions by taking into account knowledge of the spacecraft’s state or health, constraints on spacecraft operations, and the plan provided by the planner/scheduler. The executive expands the tokens into a sequence of commands that are issued directly to the appropriate subsystems on the spacecraft. The executive then monitors responses to these commands, and reissues or modifies them if the response is not what is intended.
The remote agent software's design is flexible enough to handle a variety of unexpected situations onboard a spacecraft. Because of its immediate access to a much more current and complete description of the spacecraft’s operational state than would be available to ground controllers on Earth, it can make better use of onboard resources such as computer memory and power.
How does the Remote Agent software approach compare with the conventional software approach?
There are two major differences between the remote agent software and conventional software. First, the conventional spacecraft command and control software contains many commands for the ground operators, and the ground operators put together sequences of commands on the ground to control the spacecraft. The remote agent software generates the equivalent sequences on the spacecraft in response to general directions from the ground. In this approach, the remote agent assumes most of the tasks traditionally performed by ground operators. However, the remote agent does allow traditional remote control for any situations in which it might be needed.
Secondly, in the traditional spacecraft software, the rationale behind the logic of the software resides in the heads of the engineers designing it. Their rationale is derived from their knowledge of 1) mission goals, 2) their understanding of spacecraft hardware, and 3) the environment in which the spacecraft will explore.
With model-based-reasoning software used by the remote agent, the spacecraft computer is programmed with models of the spacecraft hardware and the environment in which it will explore. However, it is also programmed to understand how to decompose mission goals into tasks. The onboard computer software, remote agent, also contains logic that allows it to reason about the models and to generate procedures to execute the mission goals. The spacecraft can thus handle a wider range of unexpected situations. Because its computer has been programmed to understand the mission's goals and can reason using the models and sensors information, in novel situations the spacecraft will be able to "think" for itself, and act in novel ways to ensure it carries out the goals of the mission.
Does the Remote Agent software make a spacecraft computer "intelligent"?
It depends on what is meant by intelligent, but by most people’s definition, the answer would be no. The remote agent software is a computer program that has the ability to solve puzzles of a particular form (about spacecraft control), but it doesn’t have the ability to reason about a broad range of topics. This is an interesting question because the remote agent can (within limits) control the spacecraft in situations that its designers haven’t anticipated. And unlike earlier spacecraft control programs, it has a much better model on board of how the spacecraft operates. It uses this improved model to determine the correct course of action in expected or unexpected situations.
Will a spacecraft have a mind of its own when equipped with Remote Agent software?
No, a spacecraft will merely be better able to diagnose what’s going on while it is in space and it can also adjust its actions to account for the diagnosis.
What happens if Deep Space 1 has a problem during the time the Remote Agent experiment is switched on?
Problems within the scope of the remote agent experiment will be handled by it. Problems out of its scope will be handled by the conventional fault-protection software on board.
Are ground operations staff still needed for a mission that has a remote-agent equipped spacecraft?
Certainly they are, but they will no longer be saddled with routine operations functions, such as monitoring telemetry. The operations staff will be smaller, and will focus on more interesting and challenging tasks such as resolving problems which cannot be handled by the remote agent. They will become more skilled and knowledgeable about how the different spacecraft systems interact because the remote agent allows the ground operator to work with the big picture leaving the details for the spacecraft software. Mission control will be able to operate more spacecraft, at the same time, equipped with this technology. Furthermore, knowledge used in designing the spacecraft will reside in the software making it available to the mission operations team. Engineers can thus more easily make their changes in a spacecraft’s operations, improving its capability. Dramatic rescues of the spacecraft may happen, but less frequently than before. And response to new discoveries and exploration opportunities will be quicker and more satisfying than in the past.
Will the Remote Agent software’s capabilities put a lot of people out of work?
Spacecraft operations are complex, requiring a substantial team to make decisions about risk, plan spacecraft activities, and verify that everything is going well (or fixing it if it is not). The remote agent software’s capabilities will allow some of the more routine tasks to be carried out onboard the spacecraft, but a highly-trained operations staff is still required to determine a set of goals to send to the spacecraft. Operations staff must also respond to anomalies that are beyond the ability of the remote agent to handle. So, it is expected that there will be some reduction in the size of the team needed to operate a remote-agent equipped spacecraft, but the tasks that the remote agent would eliminate are some of the less challenging and more routine tasks. This means that the remaining tasks are richer and more challenging.
How do we test the Remote Agent software?
We can gain confidence in such a system in the same manner we have for a conventional system, through a combination of comprehensive testing on the ground and in space. The New Millennium Program is designed to test new technology in space and to assume the risk of first use in realistic operational environment so that future science missions can benefit. We will gain confidence through frequent use of this technology.