mars helicopter pic

NASA’s Mars helicopter has a problem. This clever software trick could fix it


Image: NASA/JPL-Caltech/ASU/MSSS

NASA is preparing to “patch” the flight computer software on its Ingenuity Mars helicopter to prepare it for flight again after its winter hibernation.   

The software patch, which essentially hacks Ingenuity’s flight computer software, will make the flight computer believe readings from one working sensor are coming from another sensor that recently stopped functioning.  

Ingenuity, which started flying on Mars in April 2021, has been in a reduced operation mode during Mars winter. During this season, Ingenuity has been shut down at night to preserve energy. 

However, shutting down has meant internal temperatures of the aircraft at night drop to about minus 112 degrees Fahrenheit (minus 80 degrees Celsius), increasing the risk of electronic components becoming damaged, explains Håvard Grip, Ingenuity Mars Helicopter chief pilot at NASA’s Jet Propulsion Laboratory

While Grip’s team was preparing to recommission the helicopter for flight, NASA engineers discovered its inclinometer had stopped functioning. 

The inclinometer is not used during flight, but it is vital for measuring orientation before takeoff. 

“The inclinometer consists of two accelerometers, whose sole purpose is to measure gravity prior to spin-up and takeoff; the direction of the sensed gravity is used to determine how Ingenuity is oriented relative to the downward direction,” explains Grip. 

“The inclinometer is not used during the flight itself, but without it we are forced to find a new way to initialize the navigation algorithms prior to takeoff.”

Fortunately, NASA engineers anticipated the inclinometer could fail so they prepared a software patch before it landed on Mars that would, if deployed, allow the onboard flight computer to use other accelerometers housed in the separate inertial measurement unit (IMU) as a backup. 

The effect of the patch is to enable the IMU’s sensors to “impersonate” the inclinometer sufficiently enough that it can estimate initial attitude. 

“Unlike the inclinometer, the IMU is not purpose-built for sensing static orientation, so its initial attitude estimates will generally be somewhat less accurate. However, we believe an IMU-based initial attitude estimate will allow us to take off safely and thus provides an acceptable fallback that will allow Ingenuity to resume flying.”

The patch itself inserts code into Ingenuity’s flight computer software so that it intercepts “garbage packets” from the broken sensor and injects packets from IMU data. It’s not how the flight software should behave but in this case is intended to thanks to NASA’s patch. 

“The patch inserts a small code snippet into the software running on Ingenuity’s flight computer, intercepting incoming garbage packets from the inclinometer and injecting replacement packets constructed from IMU data,” writes Grip. 

“To the navigation algorithms, everything will look as before, the only difference being that the received inclinometer packets do not actually originate from the inclinometer. 

The next step is to apply the patch and complete commissioning activities to ensure the updated software is operating as expected. 

“If all goes well, over the next few sols, the team expects to finalize uplinking and applying the software patch, which will be followed by commissioning activities to ensure the new software is operating as planned,” NASA said.