Another day, another open-source/Linux news but this one’s special. On 30th July 2020, the Perseverance rover designed by NASA took off to Mars to learn more about the Red Planet’s secrets.
Fast forward to this day; the rover has finally landed. While this is a massive leap in space exploration, it’s also a huge win for the Linux community. That’s because something special resides under the rover’s belly. It’s called Ingenuity, a little helicopter that’ll be the first aircraft to fly on Mars.
In a recent interview with IEEE Spectrum, Tim Canham, a JPL Embedded Flight Software engineer, disclosed that Perseverance rover is actually running on a Linux OS.
He said, “This is the first time we’ll be flying Linux to Mars. The framework that we’re using is one that we developed at JPL (Jet Propulsion Laboratory) for CubeSats and instruments, and we open-sourced it a few years ago.”
He added, “You can get the software framework that flying on Mars and use it in your own project. It’s an open-source victory because we’re flying an open-source operating system and an open-source flight software framework and flying commercial parts that you can buy off the shelf if you wanted to do this yourself someday.”
Perseverance Rover and Ingenuity’s hardware
Mars is 10-11 light minutes away from Earth, and it’s impossible to control or communicate with something that far. Hence, NASA combined Linux and their built-in program based on the JPL framework to control itself, which is a feat.
When it comes to other components of Ingenuity, it’s running a customized Qualcomm Snapdragon 801 SoC clocked at 500 Hertz. Yes, you read that right, and it’s faster than the processor of Perseverance rover.
When talking about the hardware and the sensors, Canham also revealed that the parts were bought from SparkFun (an electronics website specializing in mini boards and sensors). The parts used were a Cellphone-grade IMU (Inertial Measurement Unit), a laser altimeter, and a VGA camera for monocular feature tracking. There’s also an inclinometer and a 13 MP camera to take good pictures.
How Exactly Does Ingenuity Operate?
It uses the sequencing engine. A set of sequences are sent as a series of commands, the file is uploaded to the helicopter, and the commands are executed.
The flights are pre-planned very specifically. “It’s designed to follow a trajectory that we plan on the ground before it flies,” Canham added.
Head over to the IEEE Spectrum website to read the full interview.
Linux and many open-source projects are the end products of hard work from countless people in the communities trying to solve problems. It feels great when all the efforts pay off in the end, and this certainly is just the beginning of the open-source revolution.