NASA’s Ingenuity helicopter has captured the world’s imagination with its exploration of Mars from the air. It recently completed its eighth successful flight, but as an experimental piece of technology it hasn’t all been smooth sailing for the plucky little helicopter — it has also had to deal with two software issues during its operations. Now, Ingenuity Operations Lead Teddy Tzanetos has shared some insights into how the team fixes software problems on a piece of tech on another planet.
The first issue arose in the preparations for flight four when the rotors failed to spin up correctly. The Ingenuity team report that the helicopter was having a problem transitioning into its “flight-state” mode, which stopped the blades from spinning up to full speed. This turned out to be due to overcautious software, in which the Field Programmable Gate Array (FPGA) component was detecting very slight variations in timing and was therefore preventing the helicopter from flying.
This issue was fixed by creating a temporary workaround to allow the helicopter to keep performing its flights. But there was a possibility that the issue could reoccur and require multiple attempts at flights in the future. Now, the team has updated the Flight Controller software to permanently fix this issue which they tested with a slow-spin test of the blades last week.
The second issue is to do with the camera that the helicopter uses to position itself. The helicopter has both color and black and white cameras which it uses to capture images of the ground below and make rapid adjustments to its movements, up to 500 times per second. To maneuver effectively, the helicopter needs exact timestamps for the images it captures so it can make these adjustments correctly.
The problem that arose during flight six was a glitch in the pipeline for processing images. When using the color camera, this glitch caused one single frame to be dropped. But this meant that timestamps on subsequent images were incorrect, which lead to the helicopter trying to overcorrect its movements and it ended up swinging back and forward.
Fortunately, the helicopter was able to land safely, but the team decided not to use the color camera on subsequent flights seven and eight. They think it is the more intense processing requirements for color images that lead to the glitch, so they have stuck with the less demanding and therefore safer black and white cameras for now.
Fixing this issue will require updating a large portion of the helicopter’s software. The team will create a software addition that detects if a frame has been dropped and which will correct any subsequent timestamps, allowing them to use the color camera once again. They are planning to make this update in the next few days.