Search NASASearch

Engineering topics

Deen, Robert G.

Publications and source records attributed to Deen, Robert G..

Robotics Instrument Deployment System Surface Operations for the InSight Mars Lander

This paper describes NASA’s first successful precision robotics instrument placement and release on another astronomical body since Apollo. This operations breakthrough enabled NASA’s InSight lander to detect the first known ‘marsquake’, a faint trembling of Mars’s surface on 6th April 2019, 128 Martian days after landing on Mars on the 26th November 2018. This is the first quake detected on an astronomical body other than Earth or the Moon. This paper describes the operations of the Robotics Instrument Deployment Systems (IDS) that successfully deployed the InSight science payload to the surface of Mars. The payload includes a seismometer (SEIS), Wind and Thermal Shield (WTS) and Heat Flow and Physical Properties Package (HP3), enabling scientists to perform the first comprehensive surface-based geophysical investigation of Mars’ interior structure. In addition, the paper describes the IDS planning and command sequence generation process used for the successful deployment of SEIS, WTS and HP3 on the surface of Mars. The paper concludes with recommendations based on the experience gained from InSight IDS operations. This includes identified technology gaps in the operations of in-situ manipulators for planetary exploration.

Yen, Jeng

Datacasting V3.0

Datacasting V3.0 provides an RSSbased feed mechanism for publishing the availability of Earth science data records in real time. It also provides a utility for subscribing to these feeds and sifting through all the items in an automatic manner to identify and download the data records that are required for a specific application. Datacasting is a method by which multiple data providers can publish the availability of new Earth science data and users download those files that meet a predefined need; for example, to only download data files related to a specific earthquake or region on the globe. Datacasting is a server-client architecture. The server-side software is used by data providers to create and publish the metadata about recently available data according to the Datacasting RSS (Really Simple Syndication) specification. The client software subscribes to the Datacasting RSS and other RSS-based feeds. By configuring filters associated with feeds, data consumers can use the client to identify and automatically download files that meet a specific need. On the client side, a Datacasting feed reader monitors the server for new feeds. The feed reader will be tuned by the user, via a graphical user interface (GUI), to examine the content of the feeds and initiate a data pull after some criteria are satisfied. The criteria might be, for example, to download sea surface temperature data for a particular region that has cloud cover less than 50% and during daylight hours. After the granule is downloaded to the client, the user will have the ability to visualize the data in the GUI. Based on the popular concept of podcasting, which gives listeners the capability to download only those MP3 files that match their preference, Earth science Datacasting will give users a method to download only the Earth science data files that are required for a particular application.

Bingham, Andrew W.

Support Routines for In Situ Image Processing

This software consists of a set of application programs that support ground-based image processing for in situ missions. These programs represent a collection of utility routines that perform miscellaneous functions in the context of the ground data system. Each one fulfills some specific need as determined via operational experience. The most unique aspect to these programs is that they are integrated into the large, in situ image processing system via the PIG (Planetary Image Geometry) library. They work directly with space in situ data, understanding the appropriate image meta-data fields and updating them properly. The programs themselves are completely multimission; all mission dependencies are handled by PIG. This suite of programs consists of: (1)marscahv: Generates a linearized, epi-polar aligned image given a stereo pair of images. These images are optimized for 1-D stereo correlations, (2) marscheckcm: Compares the camera model in an image label with one derived via kinematics modeling on the ground, (3) marschkovl: Checks the overlaps between a list of images in order to determine which might be stereo pairs. This is useful for non-traditional stereo images like long-baseline or those from an articulating arm camera, (4) marscoordtrans: Translates mosaic coordinates from one form into another, (5) marsdispcompare: Checks a Left Right stereo disparity image against a Right Left disparity image to ensure they are consistent with each other, (6) marsdispwarp: Takes one image of a stereo pair and warps it through a disparity map to create a synthetic opposite- eye image. For example, a right eye image could be transformed to look like it was taken from the left eye via this program, (7) marsfidfinder: Finds fiducial markers in an image by projecting their approximate location and then using correlation to locate the markers to subpixel accuracy. These fiducial markets are small targets attached to the spacecraft surface. This helps verify, or improve, the pointing of in situ cameras, (8) marsinvrange: Inverse of marsrange . given a range file, re-computes an XYZ file that closely matches the original. . marsproj: Projects an XYZ coordinate through the camera model, and reports the line/sample coordinates of the point in the image, (9) marsprojfid: Given the output of marsfidfinder, projects the XYZ locations and compares them to the found locations, creating a report showing the fiducial errors in each image. marsrad: Radiometrically corrects an image, (10) marsrelabel: Updates coordinate system or camera model labels in an image, (11) marstiexyz: Given a stereo pair, allows the user to interactively pick a point in each image and reports the XYZ value corresponding to that pair of locations. marsunmosaic: Extracts a single frame from a mosaic, which will be created such that it could have been an input to the original mosaic. Useful for creating simulated input frames using different camera models than the original mosaic used, and (12) merinverter: Uses an inverse lookup table to convert 8-bit telemetered data to its 12-bit original form. Can be used in other missions despite the name.

Deen, Robert G.

Reachability Maps for In Situ Operations

This work covers two programs that accomplish the same goal: creation of a "reachability map" from stereo imagery that tells where operators of a robotic arm can reach or touch the surface, and with which instruments. The programs are "marsreach" (for MER) and "phxreach." These programs make use of the planetary image geometry (PIG) library. However, unlike the other programs, they are not multi-mission. Because of the complexity of arm kinematics, the programs are specific to each mission.

Deen, Robert G.

Earth Science Datacasting v2.0

The Datacasting software, which consists of a server and a client, has been developed as part of the Earth Science (ES) Datacasting project. The goal of ES Datacasting is to provide scientists the ability to automatically and continuously download Earth science data that meets a precise, predefined need, and then to instantaneously visualize it on a local computer. This is achieved by applying the concept of podcasting to deliver science data over the Internet using RSS (Really Simple Syndication) XML feeds. By extending the RSS specification, scientists can filter a feed and only download the files that are required for a particular application (for example, only files that contain information about a particular event, such as a hurricane or flood). The extension also provides the ability for the client to understand the format of the data and visualize the information locally. The server part enables a data provider to create and serve basic Datacasting (RSS-based) feeds. The user can subscribe to any number of feeds, view the information related to each item contained within a feed (including browse pre-made images), manually download files associated with items, and place these files in a local store. The client-server architecture enables users to: a) Subscribe and interpret multiple Datacasting feeds (same look and feel as a typical mail client), b) Maintain a list of all items within each feed, c) Enable filtering on the lists based on different metadata attributes contained within the feed (list will reference only data files of interest), d) Visualize the reference data and associated metadata, e) Download files referenced within the list, and f) Automatically download files as new items become available.

Bingham, Andrew W.

In Situ Mosaic Brightness Correction

In situ missions typically have pointable, mast-mounted cameras, which are capable of taking panoramic mosaics comprised of many individual frames. These frames are mosaicked together. While the mosaic software applies radiometric correction to the images, in many cases brightness/contrast seams still exist between frames. This is largely due to errors in the radiometric correction, and the absence of correction for photometric effects in the mosaic processing chain. The software analyzes the overlaps between adjacent frames in the mosaic and determines correction factors for each image in an attempt to reduce or eliminate these brightness seams.

Deen, Robert G.

In Situ Surface Characterization

Operation of in situ space assets, such as rovers and landers, requires operators to acquire a thorough understanding of the environment surrounding the spacecraft. The following programs help with that understanding by providing higher-level information characterizing the surface, which is not immediately obvious by just looking at the XYZ terrain data. This software suite covers three primary programs: marsuvw, marsrough, and marsslope, and two secondary programs, which together use XYZ data derived from in situ stereo imagery to characterize the surface by determining surface normal, surface roughness, and various aspects of local slope, respectively. These programs all use the Planetary Image Geometry (PIG) library to read mission-specific data files. The programs themselves are completely multimission; all mission dependencies are handled by PIG. The input data consists of images containing XYZ locations as derived by, e.g., marsxyz. The marsuvw program determines surface normals from XYZ data by gathering XYZ points from an area around each pixel and fitting a plane to those points. Outliers are rejected, and various consistency checks are applied. The result shows the orientation of the local surface at each point as a unit vector. The program can be run in two modes: standard, which is typically used for in situ arm work, and slope, which is typically used for rover mobility. The difference is primarily due to optimizations necessary for the larger patch sizes in the slope case. The marsrough program determines surface roughness in a small area around each pixel, which is defined as the maximum peak-to-peak deviation from the plane perpendicular to the surface normal at that pixel. The marsslope program takes a surface normal file as input and derives one of several slope-like outputs from it. The outputs include slope, slope rover direction (a measure of slope radially away from the rover), slope heading, slope magnitude, northerly tilt, and solar energy (compares the slope with the Sun s location at local noon). The marsuvwproj program projects a surface normal onto an arbitrary plane in space, resulting in a normalized 3D vector, which is constrained to lie in the plane. The marsuvwrot program rotates the vectors in a surface normal file, generating a new surface normal file. It also can change coordinate systems for an existing surface normal file. While the algorithms behind this suite are not particularly unique, what makes the programs useful is their integration into the larger in situ image processing system via the PIG library. They work directly with space in situ data, understanding the appropriate image metadata fields and updating them properly. The secondary programs (marsuvwproj, marsuvwrot) were originally developed to deal with anomalous situations on Opportunity and Spirit, respectively, but may have more general applicability.

Deen, Robert G.

X-Windows Widget for Image Display

XvicImage is a high-performance XWindows (Motif-compliant) user interface widget for displaying images. It handles all aspects of low-level image display. The fully Motif-compliant image display widget handles the following tasks: (1) Image display, including dithering as needed (2) Zoom (3) Pan (4) Stretch (contrast enhancement, via lookup table) (5) Display of single-band or color data (6) Display of non-byte data (ints, floats) (7) Pseudocolor display (8) Full overlay support (drawing graphics on image) (9) Mouse-based panning (10) Cursor handling, shaping, and planting (disconnecting cursor from mouse) (11) Support for all user interaction events (passed to application) (12) Background loading and display of images (doesn't freeze the GUI) (13) Tiling of images.

Deen, Robert G.

Java Image I/O for VICAR, PDS, and ISIS

This library, written in Java, supports input and output of images and metadata (labels) in the VICAR, PDS image, and ISIS-2 and ISIS-3 file formats. Three levels of access exist. The first level comprises the low-level, direct access to the file. This allows an application to read and write specific image tiles, lines, or pixels and to manipulate the label data directly. This layer is analogous to the C-language "VICAR Run-Time Library" (RTL), which is the image I/O library for the (C/C++/Fortran) VICAR image processing system from JPL MIPL (Multimission Image Processing Lab). This low-level library can also be used to read and write labeled, uncompressed images stored in formats similar to VICAR, such as ISIS-2 and -3, and a subset of PDS (image format). The second level of access involves two codecs based on Java Advanced Imaging (JAI) to provide access to VICAR and PDS images in a file-format-independent manner. JAI is supplied by Sun Microsystems as an extension to desktop Java, and has a number of codecs for formats such as GIF, TIFF, JPEG, etc. Although Sun has deprecated the codec mechanism (replaced by IIO), it is still used in many places. The VICAR and PDS codecs allow any program written using the JAI codec spec to use VICAR or PDS images automatically, with no specific knowledge of the VICAR or PDS formats. Support for metadata (labels) is included, but is format-dependent. The PDS codec, when processing PDS images with an embedded VIAR label ("dual-labeled images," such as used for MER), presents the VICAR label in a new way that is compatible with the VICAR codec. The third level of access involves VICAR, PDS, and ISIS Image I/O plugins. The Java core includes an "Image I/O" (IIO) package that is similar in concept to the JAI codec, but is newer and more capable. Applications written to the IIO specification can use any image format for which a plug-in exists, with no specific knowledge of the format itself.

Deen, Robert G.

Marsviewer 2008

Marsviewer 2008 is designed for quality control, browsing, and operational and science analysis of images and derived image products returned by spacecraft. This program allows all derived products (reduced data records, or RDRs) associated with each original image (experiment data record, or EDR) to be viewed in various ways, including in stereo, depending on the type of image.

Toole, Nicholas T.

Mars Terrain Generation

A suite of programs for the generation of disparity maps from stereo image pairs via correlation, and conversion of those disparity maps to XYZ maps, has been updated. This suite implements an automated method of deriving terrain from stereo images for use in the ground data system for in-situ (lander and rover) cameras. This differs from onboard correlation by concentrating more on accuracy than speed, since near-real-time is not a requirement on the ground. The final result is an XYZ value for every point in the image that passes several quality checks. A priori geometric camera calibration information is required for this suite to operate. The suite is very flexible, enabling its use in many special situations, such as non-linearized images required for applications like the Phoenix arm camera, or long-baseline stereo, where the rover moves between left and right images.

Deen, Robert G.

In-Situ Pointing Correction and Rover Microlocalization

Two software programs, marstie and marsnav, work together to generate pointing corrections and rover micro-localization for in-situ images. The programs are based on the PIG (Planetary Image Geometry) library, which handles all mission dependencies. As a result, there is no mission-specific code in either of these programs. This software corrects geometric seams in images as much as possible.

Deen, Robert G.

XVD Image Display Program

The XVD [X-Windows VICAR (video image communication and retrieval) Display] computer program offers an interactive display of VICAR and PDS (planetary data systems) images. It is designed to efficiently display multiple-GB images and runs on Solaris, Linux, or Mac OS X systems using X-Windows.

Deen, Robert G.

Processing of Mars Exploration Rover Imagery for Science and Operations Planning

The twin Mars Exploration Rovers (MER) delivered an unprecedented array of image sensors to the Mars surface. These cameras were essential for operations, science, and public engagement. The Multimission Image Processing Laboratory (MIPL) at the Jet Propulsion Laboratory was responsible for the first-order processing of all of the images returned by these cameras. This processing included reconstruction of the original images, systematic and ad hoc generation of a wide variety of products derived from those images, and delivery of the data to a variety of customers, within tight time constraints. A combination of automated and manual processes was developed to meet these requirements, with significant inheritance from prior missions. This paper describes the image products generated by MIPL for MER and the processes used to produce and deliver them.

Instruments

Remote image analysis for Mars Exploration Rover mobility and manipulation operations

NASA's Mars Exploration Rovers are two sixwheeled, 175-kg robotic vehicles which have operated on Mars for over a year as of March 2005. The rovers are controlled by teams who must understand the rover's surroundings and develop command sequences on a daily basis. The tight tactical planning timeline and everchanging environment call for tools that allow quick assessment of potential manipulator targets and traverse goals, since command sequences must be developed in a matter of hours after receipt of new data from the rovers. Reachability maps give a visual indication of which targets are reachable by each rover's manipulator, while slope and solar energy maps show the rover operator which terrain areas are safe and unsafe from different standpoints.

image understanding

Video Image Communication And Retrieval - Updated

Video Image Communication and Retrieval (VICAR) package of computer programs is general-purpose image-processing software system. Intended for processing data from Jet Propulsion Laboratory's unmanned planetary spacecraft, now used in variety of other applications, including processing of biomedical images, cartography, studies of Earth resources, and geological exploration. Development of newest version of VICAR emphasizes standardized, easily-understood user interface, shield between user and host operating system, and comprehensive array of image-processing capabilities.

Wall, Ray J.