Help for NSYTWKSP
PURPOSE:
NSYTWKSP computes a mask showing the workspace boundaries for the
InSight mission. The boundaries are computed by comparing the XYZ
coordinates with precomputed polygons indicating the edges of the
workspace.
The output is a single-band BYTE image, containing a code 0-7 showing
which polygons the point is inside. See below for values.
This program could easily by multimission-ized.
EXECUTION:
nsytwksp inp=data.xyz out=data.wss -seis
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).
METHOD:
The actual core algorithm was developed by Steven Myint from Section 347.
It was then refactored to meet VICAR standards by Bob Deen.
The algorithm is simple: for each point, it checks if the XY coordinate
is within the boundary specified by the input polygon file. Z is ignored.
The XYZ coordinate is converted to the coordinate system specified in
COORD first.
The files are different based on instrument: HP3 and SEIS (actually a
combination of SEIS and WTS). Selection is made via a parameter.
OUTPUT FORMAT:
The output is a 1-band file in BYTE format.
For HP3 the possible values are:
0 = no data
1 = outside HP3 boundary, or no data
2 = HP3 footplane (footprint) boundary
3 = n/a
4 = IDA grapple workspace --- IDA grapple kinematically reachable zone for
HP3 deployment
5 = nominal (IDA grapple workspace) zone for HP3 deployment
6 = inside HP3 grapple point boundary, but ICC view partially occluded
7 = inside HP3 grapple point boundary, but more maneuvering required for
collision prevention
For SEIS/WTS the possible values are:
0 = no data
1 = outside all SEIS/WTS areas, or no data
2 = WTS footplane (footprint) boundary
3 = SEIS footplane (footprint) boundary
4 = IDA grapple workspace --- IDA grapple kinematically reachable zone for
SEIS/WTS deployment
5 = nominal (IDA grapple workspace) zone for SEIS/WTS deployment
6 = inside SEIS/WTS grapple point boundary, but ICC view partially occluded
7 = inside SEIS/WTS grapple point boundary, but more maneuvering required for
collision prevention
The value 5 is assigned to the "best" workspace, in order to maintain
consistency across all InSight masks. The values above 5 are
technically acceptable for placement, but are sub-optimal due to their
constraints. The goodness program will accept all of 5-7 as "good".
Note: it is assumed the polygons strictly nest, with higher numbers above
being smaller than previous polygons. If not, the highest number wins
(in other words, polygons are traversed in order from highest to lowest, and
once a number is assigned to a given pixel, no other polyons are checked).
POLYGON FILES:
The program reads polygon vertices from five polygon files provided by
Won Kim (347). These files are found using the standard MARS_CONFIG_PATH
mechanism in the "param_files" directory. The files are:
param_files/NSYT_wksp_hp3_boundary.txt
param_files/NSYT_wksp_hp3_grapple_kinematic.txt
param_files/NSYT_wksp_hp3_grapple_nominal.txt
param_files/NSYT_wksp_hp3_grapple_ICC.txt
param_files/NSYT_wksp_hp3_grapple_maneuvering.txt
param_files/NSYT_wksp_wts_boundary.txt
param_files/NSYT_wksp_seis_boundary.txt
param_files/NSYT_wksp_seis-wts_grapple_kinematic.txt
param_files/NSYT_wksp_seis-wts_grapple_nominal.txt
param_files/NSYT_wksp_seis-wts_grapple_ICC.txt
param_files/NSYT_wksp_seis-wts_grapple_maneuvering.txt
where "NSYT" is actually the host ID (NSYT for flight, NSYTTBC for the
testbed, etc).
The polygon files may be replaced with different ones if the lander ends
up with a significant tilt (because the tilt affects how the grapple hangs).
HISTORY:
2015-05-02 rgd Initial version, based on code from Steven Myint (347)
2017-12-11 Steven Lu Read polygon files from MARS_CONFIG_PATH.
2018-01-18 Steven Lu Implement radial and cross-radial offsets for WTS.
2018-04-03 Steven Lu Add addtional polygons and change assigned numbers.
COGNIZANT PROGRAMMER: B. Deen
PARAMETERS:
INP
Input XYZ image.
Must be 1 3-band file
or (x,y,z) triplet.
OUT
Output file.
Must be 1 filename.
NAVTABLE
Corrected navigation
filename.
INST
Instrument to use:
HP3 or SEIS
OUTSIDE_DN
DN to use for outside
all polygons
WTS_OFF
Radial and cross-radial offsets
between SEIS and WTS
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: