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: