Help for MARSREACH

PURPOSE:

MARSREACH computes the "reachability" for the MER IDD (Instrument
Deployment Device) at each pixel.  The result is a map show which pixels
can be reached by each instrument in each of its various configuration modes.

*** THIS IS A MER-SPECIFIC PROGRAM ***

The inputs for MARSREACH are the XYZ image (created by MARSXYZ) and the
surface normal (UVW) image (created by MARSUVW).

The output is a single 16-band file in byte format.  The bands are described
by the INSTRUMENT_BAND_ID and CONFIGURATION_BAND_ID, but use the following
layout:

Band  Instrument  Configuration
----  ----------  -------------
  1       MI      ELBOW_UP_WRIST_UP
  2       MI      ELBOW_UP_WRIST_DOWN
  3       MI      ELBOW_DOWN_WRIST_UP
  4       MI      ELBOW_DOWN_WRIST_DOWN
  5       RAT     ELBOW_UP_WRIST_UP
  6       RAT     ELBOW_UP_WRIST_DOWN
  7       RAT     ELBOW_DOWN_WRIST_UP
  8       RAT     ELBOW_DOWN_WRIST_DOWN
  9       MB      ELBOW_UP_WRIST_UP
  10      MB      ELBOW_UP_WRIST_DOWN
  11      MB      ELBOW_DOWN_WRIST_UP
  12      MB      ELBOW_DOWN_WRIST_DOWN
  13      APXS    ELBOW_UP_WRIST_UP
  14      APXS    ELBOW_UP_WRIST_DOWN
  15      APXS    ELBOW_DOWN_WRIST_UP
  16      APXS    ELBOW_DOWN_WRIST_DOWN

For the MI, MB, and APXS instruments, the value is either 0 (not reachable)
or 255 (reachable).  For the RAT bands, the value is either 0 (not
reachable), or a non-0 integer which represents the maximum "preload" in
Newtons that the RAT can apply at that point.

The geometry of the image matches that of the input XYZ file (and the UVW
file, which should match the XYZ).

A mask file may optionally be provided; the XYZ's are masked off using this
file if present (0 means to let the pixel through; 255 means to remove it).
This removes the rover from consideration for the arm collision detection
algorithm (see TERRAIN).  See marsfilter for more on masking.

EXECUTION:

marsreach inp=data.xyz out=data.reach uvw=data.uvw
where:
data.xyz is an input 3-band image of type REAL with the X, Y and Z values
at that pixel in meters (the unit is actually irrelevant).
data.uvw is an input 3-band image of type REAL with the U, V, and W components
of the unit vector for each pixel.
data.reach is an output 16-band image of type BYTE

METHOD:

Algorithm description TBD.  Kinematic models of the arm are used.

Collision detection of the arm with the terrain is normally enabled.
The TERRAIN parameter can turn this off, if desired.  The MASK parameter
can specify a file to use as a mask to remove pixels from consideration
by this collision detection.

This version includes low-level filtering of the XYZ's in the rechability
code itself.  This filtering is done in image space and removes any XYZ's
on the stowed arm.  It only takes place on full-res (1024x1024) images;
downsampled or subframed images do not have the arm filtered out.  This
filtering is controlled by the FILTER parameter.  With FILTER on, it is
performed when possible (full-res only).  With it off, this internal filtering
is disabled.  With AUTOFILTER, it is disabled if a MASK is provided, or
enabled otherwise (the idea being that the mask does the same, but
presumably more extensive, filtering).

The actual algorithm and core code was developed by Bob Bonitz and
Chris Leger of Section 348.


HISTORY:
06-20-03  Initial marsreach by B. Deen, based on code from Bob Bonitz (348).
COGNIZANT PROGRAMMER: B. Deen


PARAMETERS:


INP

Input images. Must be 1 3-band file or (x,y,z) triplet.

OUT

Output file.

UVW

Input normal image. Must be 1 3-band file or (u,v,w) triplet.

MASK

Input mask image (optional). Used to filter out the XYZs'.

NAVTABLE

Corrected navigation filename.

APPROACH

IDD parameter. Description TBD.

OVERDRIVE

IDD parameter. Description TBD.

TERRAIN

Whether or not to do terrain collision checking.

FILTER

Whether or not to use built-in filtering.

CONFIG_PATH

Path used to find configuration/calibration files.

POINT_METHOD

Specifies a mission- specific pointing method to use

NOSITE

Disables coordinate system sites.

RSF

Rover State File(s) to use.

DEBUG_RSF

Turns on debugging of RSF parameter.

COORD

Coordinate system to use.

COORD_INDEX

Coordinate system index for some COORD/mission combos.

FIXED_SITE

Which site is FIXED for rover missions.

SOLUTION_ID

Solution ID to use for COORD_INDEX

DATA_SET_NAME

Specifies the full name given to a data set or a data product.

DATA_SET_ID

Specifies a unique alphanumeric identifier for a data set or data product.

RELEASE_ID

Specifies the unique identifier associated with the release to the public of all or part of a data set. The release number is associated with the data set, not the mission.

PRODUCT_ID

Specifies a permanent, unique identifier assigned to a data product by its producer.

PRODUCER_ID

Specifies the unique identifier of an entity associated with the production a data set.

PRODUCER_INST

Specifies the full name of the identity of an entity associated with the production of a data set.

TARGET_NAME

Specifies a target.

TARGET_TYPE

Specifies the type of a named target.

See Examples:


Cognizant Programmer: