Linux and open-source have reached Mars
The Perseverance reached the atmosphere of Mars at a speed of 19.000 kilometers per hour and seven minutes later, NASA landed smoothly and safely its last rover.
A one-tone mobile lab and its tiny companion, the Ingenuity drone helicopter. If all goes well, the 1,8 kg Ingenuity will be the first vehicle to ever fly to another world.
11 minutes in light years from Earth, no one will fly Ingenuity with a drone control. It will fly using a combination of Linux and a NASA (Jet Propulsion Laboratory) program based on the open-source F´ framework (pronounced F prime).
This will not be easy. No one has ever tried to fly to Mars, which has an atmosphere of only one centimeter of the Earth's air density.
Mars also has only a third of the Earth's gravity, and Ingenuity engineers will be happy if the drone just gets off the ground.
Ingenuity is purely a technological experiment. It is not designed to support the mission of Perseverance, which is the search for signs of ancient life, and the collection of rock and soil samples for later missions after returning to Earth. Ingenuity's mission is to prove that flying to Mars is possible using off-the-shelf commercial hardware (COTS) and open source software.
In one interview of IEEE Spectrum, Timothy Canham, JPL Embedded Flight Software Engineer, explained that the helicopter processor board is powered by a 801 Hz Qualcomm Snapdragon 500, not MegaHertz, Hertz.
Although this may sound very slow, it is much faster than Perseverance processors. This is because NASA processors and chips must meet NASA's Spaceflight Computing (HPSC) radiation standards.
These custom processors take years of design work and testing before being certified for spaceflight. For example, NASA's newest general-purpose processor is a variant of ARM A53 that you may be familiar with from the Raspberry Pi 3. Ingenuity, however, as a demonstration project can use a much more common and therefore more modern CPU.
Canham says, “We literally ordered spare parts from SparkFun [Electronics]. It's commercial hardware, we will try it and if it works well, we will use it. "
As for the software, Canham said,
This is the first time we will fly with Linux to Mars. We are actually running a Linux operating system. The software framework we use is what we developed in JPL for CubeSats and instruments, and we got it a few years ago. So, you can have the software framework that flies a helicopter to Mars and use it in your own project. It's a kind of open source victory because we are throwing away an open source operating system and an open source flight software framework, with commercial parts that you can buy from a shelf if you want to do it yourself one day.
This open source software is F´. It is a framework that allows the rapid development of space flight software. F´ has been successfully developed in several space applications. It is adaptable but not limited to small-scale space flight systems such as the CubeSats, the SmallSats and, now, a self-propelled helicopter.
To mention that there are many other NASA open source programs. There are more than 500 open source 3.0 licensed software programs. Long before the concepts of free software and open source were formed, NASA shared much of its code under COSMIC.
NASA has been using Linux on the International Space Station (ISS) for a long time. Linux's journey to supercomputer dominance began at NASA's Goddard Space Flight Center (GSFC) with the first Beowulf supercomputer.