NASA's creative helicopter has captured the imagination of the world by exploring Mars from the air, recently completing its eighth successful flight, but as an experimental piece of technology, it wasn't all smooth sailing for the small helicopter - it also had to deal with two software issues During its operations, currently Chief Creative Officer Teddy Zanitos has shared some ideas about how the team can fix software problems on a piece of technology on another planet.
The first problem arose in preparations for the fourth flight when the rotors failed to rotate properly. The Ingenuity team reported that the helicopter was having trouble transitioning to a flight state mode, which prevented the blades from spinning at full speed. This turned out to be due to excessively careful programming, as The Field Programmable Gateway Array (FPGA) component detected very slight differences in timing, thus preventing the helicopter from flying.
This issue was fixed by creating a temporary workaround to allow the helicopter to continue performing its flights, but there was a possibility that the issue could recur and require multiple attempts at flights in the future, now the team has updated Flight Controller to permanently fix this issue which they tested through spin test The slow blades last week.
The second issue is about the camera the helicopter uses to position itself. The helicopter has color and black and white cameras that it uses to take pictures of the ground below and make quick adjustments to its movements, up to 500 times per second. To maneuver effectively, the helicopter needs accurate timestamps of the images it takes so that it can make these adjustments correctly.
The problem that arose during the sixth flight was a glitch in the image processing pipeline. When using the color camera, this glitch caused a single frame to be dropped, but this meant that the timestamps on subsequent images were incorrect, which led to the helicopter trying to correct its movements more accurately. Excessive and ended up swinging back and forth.
Fortunately, the helicopter was able to land safely, but the team decided not to use the color camera on the next seventh and eighth flights current time.
Fixing this issue will require a major update of the helicopter's software. The team will be creating an extension that detects if a frame is dropped and which will correct any subsequent timestamps, allowing them to use the color camera again. They plan to make this update in the next few days.