By Scott Hamilton
Senior Expert Emerging Technologies
April 19, 2021, became a historic day when Ingenuity, the small, autonomous helicopter, took flight in the thin atmosphere of Mars. This achievement had top engineers at NASA excited for seeing the achievement accomplished by the Jet Propulsion Lab (JPL). However what is even more exciting is the involvement of nearly 12,000 developers on GitHub that contributed to the software-running ingenuity.
I have been involved in open source software for over three decades but did not have the privilege of working on this particular project. This is the first time NASA has openly shared information about the use of open source software on their missions, but it is not the first time it has happened. In fact NASA houses one of the world’s largest supercomputers, which is completely based on open source software and used on every mission and project across the organization.
You can find a list of all the open source projects involved in the mission to Mars at https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#list-of-qualifying-repositories-for-mars-2020-helicopter-contributor-badge. If you an active GitHub.com account and submitted patches, documentation, or content to any of the related projects, you are eligible to display a badge on your profile showing your participation. You might be surprised to find that you qualify, with nearly 70 projects listed.
Like most drones used around the world, Ingenuity requires software to keep it flying. The software on a drone helps to stabilize flight by processing thousands of pieces of information. On earth we have the advantage of using global positioning satellites to determine things like the exact location of a drone. Ingenuity has to rely on line-of-sight communication with the Perseverance rover in order to maintain accurate location information. This required very complex machine learning algorithms as well as powerful mathematical computations to maintain flight. A majority of these computations are done with Scipy, a scientific computation library developed over the past 15 years to simplify complex linear algebra and matrix computations.
Scipy is one of the most widely used Python libraries and was designed to empower students and researchers at no cost. Mathematica and Matlab are the commercial providers of similar functionality at a cost of thousands of dollars in licensing fees. Seeing open source in government projects makes me feel that all the effort in pushing open source is finally beginning to pay off.
Until next week stay safe and learn something new.
Scott Hamilton is a Senior Expert in Emerging Technologies at ATOS and can be reached with questions and comments via email to firstname.lastname@example.org or through his website at https://www.techshepherd.org.