# Maestro (software)

Maestro (software) was a free program released by NASA to allow users to view photos and daily progress of the Spirit and Opportunity rovers. It served as an activity planner for Mars that utilized a combination of 2D and 3D visuals to track the movement and missions of the Spirit and Opportunity rovers in 2004.

## History

The program was designed and built by the Maestro Robot Interface Laboratory at NASA's Jet Propulsion Laboratory in 2004. Maestro stands for Mission Adaptable Environment for Spacecraft, Test, and Real-time Operations. With the landings of the Spirit and Opportunity rovers in 2004, the program was developed to view their mission progress in a simulated environment. When the rovers landed, updates were available to download from the Maestro homepage. These updates included new pictures and terrain that could be simulated within the program. The program won NASA's Software of the Year award for 2004. The Maestro Robot Interface Laboratory is no longer considered an active facility at Jet Propulsion Laboratory.

## Design

The program renders the rover in a 3D environment. The program features the Jet Propulsion Laboratory testing facility, Spirit's landing site, or the Opportunity's landing site to explore. Data from the Spirit and Opportunity's landing site must be downloaded externally from the Maestro website and imported into the program.
The program is written using the Java Eclipse Platform. Java Eclipse provides scientists with a way to obtain results without being bound to the console when coding and the ability to share information easily. This platform allows Maestro to be available for Linux, Mac OS X, and Windows.
The program is simple enough to be navigated based on intuition and allow users to follow the rovers as they progress through their missions. The user interface is similar to a web browser and reduces all tasks to basic mouse movements and clicks.

## Functions

The program interprets data to display and manipulate images collected by the different sets of cameras placed on the rover. It also gives data collected by the tools attached to the rovers arm.

### Hazard Avoidance and Navigation Cameras

The front hazard camera displays the frontal view of the rover and prevents the rover from running into any unexpected objects on missions. The navigation cameras work in conjunction with the hazard avoidance cameras to scan the terrain and environment around the rover.

### Panoramic Camera

An azimuthal equidistant projection is created by the navigation and panoramic cameras, which compiles up to twenty separate pictures arranged in a circle. The program can flatten out these images giving a horizontal view of the picture that can be rotated within the program.

### Miniature Thermal Emission Spectrometer

The Miniature Thermal Emission Spectrometer (Mini-TES) can also take photos using an infrared spectrum to display heat maps of the rocks and soils. This allows scientists to distinguish the different minerals on Mars based on their thermal radiation.

### Microscopic Imager Camera

The Microscopic Imager camera is attached the rover's arm and takes magnified photos of the rocks and soils. Maestro processes these images and alters the edges, contrast, or size to make them easier to analyze and understand.

### Spectrometers

The rover is equipped with an Alpha Particle X-Ray Spectrometer (APXS) and a Mössbauer Spectrometer (MB). The APXS uses alpha particles and X-rays to determine the elemental composition of the material collected. The MB determines the magnetic properties of minerals containing iron.

### Rock Abrasion Tool

The Rock Abrasion Tool (RAT) located on the arm of the rover and grind holes into rocks to collect and analyze the composition of the material.

## Tools

Maestro loads with a sidebar of tools to help assist the program user with different tasks.

### Conductor

Selecting the Conductor brings up a window that provides help, insight and tutorials on how to use the program. It consists of multiple pages that can be referenced at any point in the program. It contains information on the different tools listed below. It also contains information about the each rover's equipment and how Maestro analyzes the data.

### Database

The database is a file directory loaded on the left hand of the screen. It connects all the photos and data into manageable folders that can be accessed and changed at any time. The database tags each files with the Sol date, site number, camera position, acquisition time, and sequence ID. It allows Maestro to open up to three different panoramic photos in separate windows on the same screen for easier multitasking. Each photo can be manipulated individually if needed.

### Frame Data

The frame data window is located below the database. The frame data gives information on the rover position, site number, and image size. The frame of reference can be changed from the site or rover's point of view and adjusts the information according to the location of the rover's camera.

### Filters

Photos can be manipulated using five different filters included within the program.
| Filter | Function | Purpose |
| Median | Removes noise and preserves edges | Softens edges and cleans up grainy photos |
| Low-pass | Lowers the frequency of the image between a specified interval | Removes moiré through blurring |
| High-pass | Increases the frequency of the image between a specified interval | Sharpens only edges to improve clarity |
| Gaussian | Blurs an image using the Gaussian function to reduce noise and detail | Smooths low resolution pictures to create a cohesive object |
| Edge | Analyzes the photo for changes in brightness to outline only the edges of the original photo | Outlines the terrain and environment |

### Rover Activities

Activities can be planned for the simulated rover to take pictures of any target within the 3D rendered environment. Maestro allows the user to set a course for the rover to follow. Once the rover reaches its destination, it can analyze the environment around it. The program can manipulate the following:
* Rover Orientation
* Rover Location
* Front Hazard Camera
* Rear Hazard Camera
* Mini-TES
* Navigation Camera
* Panoramic Camera
* Microimager
* Spectrometers
* Rock Abrasion Tool
A queue of events can be organized for the Rover to follow and the rover completes each event in sequential order.