Home Schedule Documents Technologies Wiki

Project Title - Image Analysis of Abraded Rocks to Determine Dust-Free Area

Project Description

The sponsor for this project is the Jet Propulsion Laboratory (JPL) at the California Institute of Technology with our main point of contact/client being Ioan Brockie, a Mechatronics Engineer at JPL.

JPL is a federally funded NASA research and development center whose primary role is to construct and operate planetary robotic spacecraft. JPL has had a hand in a wide variety of scientific missions. From launching satellites that study Earth, aiding in natural disaster relief (e.g. NASA–ISRO Synthetic Aperture Radar, or NISAR) to other space vehicles that do Astronomy (e.g. Kepler, Voyager, Cassini, etc.). JPL’s missions provide insight for better understanding how our home and our universe works making it a better place for everyone to live.

Mars is one planetary body that JPL has been actively carrying out scientific missions on over that last few decades. JPL’s newest rover, Mars 2020 (M2020) will aim to further deepen our understanding of whether or not the red planet was once habitable. Specifically, the primary goal of M2020 will be to look for evidence of past life on Mars by analyzing and collecting samples of the Martian surface which will then be picked up by a future mission.

One of JPL’s current projects is the Mars 2020 (M2020) rover, an upcoming mission to Mars that will explore various regions of the Martian surface to search for evidence of past life on Mars. The significance of finding past life on Mars would provide more insight to the development of humans and all species on Earth. If we are able to find evidence of Martian life, it would create many opportunities for space exploration.

In its quest to find evidence of past life, the M2020 rover will use a suite of tools including an onboard drill with a set of drill bits to take measurements of the soil/rock and potentially collect samples from the Martian surface to return to Earth later. To identify what samples to take, the rover is equipped with a Planetary Instrument for X-ray Lithochemistry (PIXL) camera. The PIXL camera looks at a particular region and analyzes it for chemical compounds and elemental makeup. However, before instruments like PIXL can analyze samples, the rover needs to overcome a problem inherent to drilling. When the rover drills into a rock, it creates a lot of dust, obscuring the hole.

JPL’s solution to the dust problem is to blow the dust out of the hole using compressed air. However, JPL’s testing of this dust removal tool is slow and manual. For some of these tests, the team at JPL mimics the Martian atmosphere by drilling in a pressurized vacuum chamber. This is a time-consuming process because they have to bring the vacuum chamber back up to Earth’s atmospheric pressure, examine the results by hand, and then bring the chamber back down to Mars atmospheric pressure again to run more tests. Furthermore, because they are having someone review and analyze each test by hand, results are less consistent and are less accurate as they are subject to human error and human bias for what looks like dust. Ideally, the team at JPL wants to automatically analyze their tests while under pressure in the vacuum chamber using only the cameras.

Our Solution

Original Client Process New Process Process Key

Our solution will allow JPL to analyze images taken inside the vacuum chamber while it is pressurized. They can pump down to the Martian atmosphere, drill into the rock, take a before picture, blow dust, take an after picture, analyze the images taken, and repeat the process until their testing is finished. They will not have to pump back up to Earth's atmospher as often and the process will be less manual.

Our product is run using MATLAB and Python with third-party libraries such as OpenCV. Users will be able to select which pair of images to analyze in the Graphpical User Interface (GUI). The analyzed images will be displayed to the user along with the percentages of areas that are clear of dust (Green), not clear of dust (Red), or in-between (Yellow). Please refer to our Wiki on how to install the code (also provided in the Wiki) and use our software.

High Level Requirements

Here are the high-level requirements that we obtained from our client in the fall semester.

Functional Requirements Non-Functional Requirements
Handle a batch of images Display the percentage of areas cleared
Analyze image(s) for dust Display the after air blast and corresponding analyzed images in a GUI
Allow the user to adjust parameters Program should take no longer than a minute per image pair.
Mark areas for dust coverage

The Project Team


Adam Paquette

Architect, Coder


Alexanderia Nelson

Release Manager, Documents/Research


Charles Beck

Recorder, Coder


Hunter Rainen

Team Lead, Coder