Ingenuity–built by the people of Earth
The first open source spacecraft on another planet
by Ed Sawicki - April 22, 2021
Which has more computer horsepower onboard: the almost car-sized Mars Perseverance rover or the tiny four-pound Ingenuity helicopter?
Perseverance is about 565 times the weight of Ingenuity and much larger. It has far more moving parts and its computer has more to control. Yet the compute power onboard Ingenuity is far greater. This may seem counterintuitive. So...why?
- A helicopter has to deal with events related to flight and navigation in realtime. Ingenuity doesn't have a map of the area stored in its memory, so it must navigate by sight and this means video processing in realtime. It needs the additional horsepower. In contrast, Perseverence tasks plod along at speeds that are far from breakneck.
- NASA's massively expensive missions use radiation-hardened electronic parts to minimize the chances of failure due to cosmic radiation. This limits the parts that designers can select and they are typically not cutting-edge. However, the Ingenuity helicopter is not mission-critical. It's simply a technology demonstration and doesn't need to comply with NASA's strict rules. So, it's free to use newer, non-radiation-hardened technologies.
Perseverence uses a computer based on the radiation-hardened PowerPC 750 (RAD750), first introduced in 2001. It's a great processor and has more compute power than those on earlier rovers, but it's inadequate for Ingenuity's tasks.
Ingenuity designers chose a faster System on a Chip (SoC) that packs a lot of functionality into a small, low-power package. It's a Qualcomm Snapdragon that's designed for consumer applications like cellphones. It's based on the ARM processor that is the most used processor on Earth—it's in most cellphones, tablets, and Apple's newer computers—and now it's flying on Mars.
On August 3, 2023, Ingenuity took its 54th flight. The flight was captured on video by Perseverence, which was 180 feet away.
For software geeks like me, the more exciting news about Ingenuity is that it's based on popular open source software (OSS). Integrity is the first time the open source Linux operating system has run on Mars–along with dozens of other OSS packages.
Over 12,000 people from all over the world contributed to the OSS projects used by Ingenuity. The 12,000 do not include the people whose names are not attached to the projects as developers but who supported the projects in some way. For example, when I've earned money by deploying OSS to a customer site, I've sent the developers a portion.
JPL's own internally-developed software framework used by Ingenuity is open source as well. It's called Fprime and often written as F´. It's used by numerous projects such as Cubesats and other small-scale spaceflight systems to reduce their development cycles. Anyone can use it, even for their Earthbound projects.
Ingenuity's success will spur the adoption of OSS for other space missions, and that means more NASA bang for the taxpayer buck.