4.3 Editing Rover Plans
4.3 Editing Rover Plans
Maestro is used on each sol of the mission to specify the high-level plan that the rover will execute on Mars. The plans that Maestro builds are a collection of Observations and Activities. An Observation contains a group of related Activities that accomplish a particular goal on Mars. Observations also document the scientific intent of the Activities. Activities are specific orders for the rover that are eventually refined into the commands that are executed on-board the rover on Mars. Different Activity types are used to tell the rover to do different things. Activities describe what and how the rover should do things on Mars while Observations explain why. This chapter describes how to build a plan for the rover from a combination of Observations and Activities, visualize the expected results of the plan, and confirm that the plan can be executed within the resources available on the rover.
4.3.1 Adding, removing, and arranging Observations and Activities
Adding Observations and Activities
After you have created a new plan by following the steps in Section 4.1, you are
ready to begin adding Observations and Activities to the plan. Begin by selecting the
Observations tab in the Uplink browser.


Your mouse cursor will change to indicate that a drag operation is in progress. As you drag the mouse over the plan, a black insertion line will be displayed, indicating where the Observation would be added if you were to release the mouse button with the mouse pointer in its current position (see Figure 4.11). Move your mouse pointer so that the insertion line is at the position where you wish to add the new Observation and then release the mouse button. If you drop a new Observation on top of an existing Observation, the new Observation will be added after the Observation it was dropped on.
You can also add Observations to the plan by double-clicking the New Observation button in the Uplink palette. This will cause a new Observation to be added after the currently selected Observation, or at the end of the plan if no Observations are selected.
The bottom part of the Uplink palette contains a list of Activity types that you
can add to a plan. Each of these Activity types represent something that the rover
can do on Mars. Above the list of Activity types is a pull-down menu labeled
“Instrument”.

Activities can be added to the plan in both of the ways that Observations can be
added to a plan, as described above. First, you can add Activities at a particular
location in the plan by clicking on an Activity type and dragging the mouse over the
plan so that the black insertion line is displayed at the location where you
wish to add the new Activity. Releasing the mouse button causes the new
Activity to be added to the plan. Note that Activities can only be added inside
Observations, so the new Activity will automatically be placed inside the first
open Observation above the position at which it is dropped. To insert an
activity inside a closed Observation you must first open the Observation by
clicking on the turnbuckle to the left of the Observation in the plan view.

Duplicating Observations and Activities
Sometimes, you will want to create a copy of an Activity or Observation rather than
working from a new one. To create a copy of an Observation or Activity, highlight it
in the plan view and select the Duplicate menu item from the Uplink browser’s Edit
menu.

Removing Observations and Activities
To delete an Observation or Activity, first click on it in the plan view. Then, select
the Delete menu item from the Uplink browser’s Edit menu.

Arranging Observations and Activities
Observations and Activities can be rearranged within the plan using drag-and-drop. Simply click on the Observation or Activity you would like to move and drag it so that the black insertion line is displayed at the location where you would like to drop the item. When you release the mouse, the Observation or Activity you dragged will be moved.
Undo and Redo
It’s easy to make mistakes while adding, removing, and arranging Observations and
Activities. Fortunately, Maestro allows you to undo every modification you have
made to a plan since you last opened or created it. To undo a modification, click the
Undo button on the toolbar or select the Undo menu item from the Uplink browser’s
Edit menu.


![]() |
| Moving an Observation or Activity via drag-and-drop counts as two modifications to the plan: one to remove the item from the old location and another to add it at the new location. To undo a drag-and-drop modification you must press the Undo button twice. Similarly, to redo a drag-and-drop you must press the Redo button twice. |
4.3.2 Editing Activities
Each Activity in a plan carries with in multiple pieces of information that describe exactly what you want the rover to do and how it should do it. When a new Activity is added to a plan, this information is set to default values that probably don’t reflect your intentions. You must edit Activities in Maestro to provide the correct information.
To select an Activity for editing, click on it in the plan View so that it becomes
highlighted as shown in Figure 4.12. This will display detailed information about the
selected Activity in the Details dialog. The Details dialog is a companion window to
the Uplink browser that is visible by default. If it is not visible, you can cause it to
be displayed again by clicking on the Details icon in the Uplink browser
toolbar.

When an Activity is selected, the top portion of the Details dialog will show a set of generic fields that are present for every Activity, as shown in Figure 4.12. These fields are described in the following table:
| Field | Description |
|
Name | A concise description of what this Activity will accomplish. Don’t include the instrument name or Activity type name here as this is redundant information. |
|
Uplink Priority | A number between 0 and 3 indicating the importance of this Activity relative to other Activities inside this Observation. Note that a 0 indicates that this Activity is so essential to the Observation that removing it would render the entire Observation useless. |
|
Seq Id | Used by Payload Uplink Leads to indicate what spacecraft sequence will be used to accomplish the work dictated by this Activity. |
|
Purpose | A brief explanation of why this Activity was added to the plan. |
|
Uplink Priority Rationale | Justification for the value specified in the Uplink Priority field above. |
|
Downlink Priority Rationale | Justification for the downlink priorities specified in the Activity arguments (discussed in more detail below). |
|
Notes | Any additional information about this Activity that should be recorded but wasn’t covered by the other fields. |
| Low LOD Modeling | A checkbox that toggles Maestro between high and low level-of-detail modeling for this Activity (discussed in Section 4.3.3). |
Though they appear initially as a single line, most of these fields will grow as you
type multiple lines of text into them. Modifications made to these fields will be
applied whenever you press the Enter key or click the mouse outside the field. Note
that some field names are shown in bold text. This indicates that the field is
required, and a value must be provided in order for the Activity to be considered
valid.
![]() |
| You can move to the next field in the Details dialog by pressing the Tab key, and move to the previous field by pressing Shift-Tab. Any changes made will be applied when you change to a different field. |
Argument fields
Following the generic fields described above is the arguments section of the Details dialog, abbreviated as “Args”. Arguments are the real meat of the Activity -- they allow you to tell the rover exactly what you want it to do. The Args section of the Details dialog has a section for each argument in the activity. Argument fields vary widely in appearance depending on their type and purpose, but they all have the same basic structure. A typical argument field is shown in Figure 4.13.
Each argument field is made up of three parts. In the top left corner, the name of the argument is shown in bold text. Beside this is the beginning of the argument’s description, taken from the Activity dictionary. If the description of the argument is too long to fit in the space provided, an ellipsis (...) will be displayed at its end. If you click and hold the mouse button on the description, a yellow pop-up will be displayed showing the full description of the argument until you release the mouse button. Below the name and description of the argument are one or more components that allow you to edit the value of the argument. Most of these components fall into one of three categories, show in Figure 4.14. The first argument in this figure is a simple field that accepts text input. The second is a field that can be edited in the same way as the first or by clicking the spin arrows on the right side of the field. The third argument accepts only a limited set of values and can only be edited by clicking on the arrow on the right side of the field. This will display a list of allowed values to select from.
Argument fields enforce restrictions specified in the Activity dictionary on their values. For instance, if an argument is of a numeric type, it will not allow to enter text into it. For numeric types, the Argument field will check that the value entered is within the limits specified by the Activity dictionary. If a value is entered that is outside these limits, the Argument field will turn red to indicate this to the user. Figure 4.15 shows the field from Figure 4.13 with an invalid value entered into it.
4.3.3 Visualizing Activities with Footprints
It can be very challenging to set all of the arguments in a MER Activity correctly. Fortunately, Maestro provides two capabilities that will assist you in this task by providing a graphical simulation of the what the rover will do if the activity you have created is executed. This section describes the first of these capabilities, called Footprints. For imaging and Mini-TES activities, Maestro draws footprints in its downlink views that indicated the area that will be imaged by the selected Activity. To use this capability, first open a Navcam collection in the Cylindrical Mosaic view by following the steps in Section 3.3. Next, add an Activity that produces Footprints to the plan (a Pancam activity, for instance). Select the Activity and set the values of its arguments in the Details dialog as desired. As you change some of these arguments, the Footprint(s) being displayed will immediately change to illustrate the expected outcome of the Activity given the arguments’ current values.
Figure 4.16 shows a Footprint for a Pancam activity. Whenever you create or modify an Activity for the Navcam, Hazcam, Pancam, or Mini-TES, Maestro analyzes the values you provide for the Activity’s arguments and determines where the instrument will be pointing when the rover executes the selected activity. Given that, it determines whether the instrument will be pointed toward a region where the rover has already acquired imagery. If it is, then Maestro will draw a yellow outline around the area that will be included in the Activity’s measurement in all currently loaded Downlink views. If this sounds confusing, think about what happens when you shine a flashlight at a wall in a dark room. It makes a shape on the wall that will change size and shape depending on how far the wall is away from you and at what angle you are holding the flashlight. If you were to ask a friend to trace the outline of the shape on the wall with a marker, you would be left with a Footprint for the flashlight. Maestro does something very similar when it creates an Footprint -- it shows you what the instrument will see if the selected activity is executed. Maestro displays Footprints in all views except for the 3D view and the ImageCube view.
The size, shape and position, and number of Footprints produced by an Activity depend on what type of activity is being used and the values that its arguments are set to. Some Activities cause the rover to point an instrument at a single location and thus generate a single Footprint, as shown in Figure 4.16. Other Activities will cause the rover to point an instrument at multiple locations and thus generate multiple Footprints, as shown in Figure 4.17. The Footprints in Figure 4.17 were created by a Mini-TES activity and thus are round to reflect the shape of that instrument’s field of view.
To create a Footprint, just add a Navcam, Pancam, Hazcam or Mini-TES activity
to the current plan by following the steps in Section 4.3.1. Then set the arguments
for that activity so that the instrument is pointed at the desired location. Most of the
time, you will be using the Mast-Target argument field described in Section
4.3.2 to do this. Some activities will have other arguments that will affect
the size and location of their Footprint(s) -- try experimenting with the
arguments in these Activities to see how they affect the Footprint(s) being
drawn.
![]() |
| If you select an Observation, the Footprints for all of the Activities within that Observation will be displayed. |
Approximate footprints
In order to draw an accurate Footprint for an Activity, Maestro must have access to information about the terrain in the direction that the instrument is pointing. Sometimes, this information is unavailable. Stereo data may not have been acquired for that region, or the instrument may be pointing above the horizon. In these situations, Maestro is only able to draw an approximate Footprint. Approximate Footprints assume that the instrument is pointing in a direction where it cannot see the terrain, and therefore are drawn as if they were a very long distance away. These Footprints are only intended to provide a rough idea of what the instrument will see and should not be used when precision is required. Approximate Footprints are drawn as pink dashed lines or pink circles in order to distinguish them from the more accurate Footprints described above, which are drawn in yellow. An approximate Pancam Footprint is shown in Figure 4.18.
High and low level of detail (LOD) footprints
![]()
|
Generating an accurate Footprint can require significant computation. When an Activity produces many Footprints, this computation time really adds up! Often, you will find that you are most interested in the outer boundary of the region covered by the produced Footprints and not the precise location of each Footprint within that region. This outer boundary is called a Low Level of Detail (LOD) footprint in Maestro. Maestro draws Low LOD footprints by default.
![]()
|
Figure 4.19 shows a Low LOD footprint for a Pancam mosaic activity. The yellow box shown indicates the outer boundary of the area that will be imaged by the Activity. Several assumptions are made that affect the appearance of a Low LOD footprint, and thus it should not be considered to be a precise representation of the area that will be imaged by the activity. Figure 4.20 shows a set of High LOD footprints for the same Pancam Mosaic activity. Here, a separate Footprint is drawn for each image in the mosaic. High LOD footprints provide a more precise representation of the area that will be imaged by a Mosaic activity, and allow you to evaluate the spacing and overlap between individual images.
An Activity can be switched between Low and High LOD mode by checking and
unchecking the Low LOD Modeling checkbox in the Details Dialog when that
Activity is selected. Activities are created in Low LOD mode by default. To activate
High LOD modeling and footprints for an Activity, select that Activity in the plan
and uncheck the Low LOD Modeling checkbox as shown in Figure 4.21. Since High
LOD modeling requires significant system resources, the Activity will only remain in
High LOD mode until another activity is selected. At that time, the Activity is
returned to Low LOD mode.
![]() |
| Large Mini-TES activities can produce hundreds of footprints. High LOD Footprints for these Activities may take up to a minute to draw, so don’t un-check the Low LOD Modeling checkbox on these Activities unless you are prepared to wait a while! |
4.3.4 Visualizing Activities in the 3D view
![]()
|
When an Activity would cause the rover arm, mast, or the rover itself to move, Maestro simulates these effects by modifying the state of the 3D rover model in all open 3D views whenever the Activity is selected. To use this activity, first open a 3D or Overhead view by following the steps in Section 3.5. Next, make sure you have a plan open (see Section 4.1) and add an Activity to the plan that would cause the rover to move -- a rover drive activity, for instance. Select the Activity and set the values of the arguments in the Details Dialog as desired. As you change the arguments that control the movement of the rover (distance or destination in the case of a rover drive activity), the 3D model of the rover will immediately move in the 3D view. You can quickly step through the expected states of the rover by clicking through the activities in the plan while watching the 3D view.
Figure 4.22 shows three ways that the rover’s state is simulated in the 3D view.
The first image shows the appearance of the 3D rover when a Microscopic Imager
Activity is selected. The rover’s arm is shown in the position that it is expected to
be in at the conclusion of the selected activity. This capability allows you
to confirm that a potential arm target does not place the rover arm at a
particularly awkward angle. Rover driving activities will cause the 3D model of
the rover to move to a new position in all open 3D views, as shown in the
middle image of Figure 4.22. Also, it is occasionally useful to confirm that
an Activity is causing the rover’s Pancam/Mast Assembly to point in the
correct direction. By navigating in the 3D view such that the rover’s mast
becomes clearly visible (see Section 3.5 for information on 3D view navigation),
you can see which direction the mast will be facing at the conclusion of the
selected Activity. The right image of Figure 4.22 shows the configuration of
the mast at the conclusion of a Pancam activity of the area in front of the
rover.
![]() |
| When you select an Observation, the 3D rover will be shown in the state it is expected to be in at the conclusion of all the Activities in that Observation. |
4.3.5 Saving and loading plans
As you build plans within Maestro using the steps described in Section 4.3, you
should periodically save your work. To do this, click on the save button in the Uplink
browser toolbar or click on the Save menu item within the Browser menu
in the Uplink browser. If this is the first time you have attempted to save
this plan, the dialog show in Figure 4.23 will be displayed. You must use
this dialog to navigate to the directory where you wish to save the plan.

When you save a plan, the name of the file that it was saved to will be displayed
in the title bar of the plan’s view.

Sometimes you will need to save a plan to a new file. To do this, click on the Save
As button in the Uplink browser toolbar or click on the Save As menu item within
the Browser menu.

Once a plan is saved, it can be loaded from the Uplink selection tree on the left
side of the Uplink browser. As shown in Figure 4.24, you can navigate to the location
on the filesystem where the plan is saved and drag the plan in question
into the view grid on the right side of the browser. You can also load the
plan in the least recently used pane of the view grid by double clicking on
it.
![]() |
| The selection tree is automatically updated each time you open or close one of its folders. If you save a new file to a folder and don’t see it, just open and close the folder to refresh its contents. |


















