Mars Exploration News  
MARSDAILY
Open Source on Mars: Community powers NASA's Ingenuity Helicopter
by Klint Finley For "The ReadME Project"
Los Angeles CA (SPX) Apr 21, 2021

File illustration from the The ReadME Project Mars 2020

The Ingenuity Mars Helicopter departed Earth for its 293 million mile trip to Mars aboard the Perseverance Rover last July. However, Ingenuity's most important journey was only about 10 feet. That's the altitude the small helicopter hovered just above the surface of Mars, marking a major milestone for humanity: the launch was the first powered flight on another planet and proof that it's possible for a helicopter to achieve lift-off on Mars.

In order to fly in Mars's thin atmosphere-with an atmospheric volume less than 1% of Earth's-NASA's Jet Propulsion Laboratory (JPL) had to keep the weight of Ingenuity below four pounds (1.8kg), including blades, a motor, a power supply, solar panels, and enough computing power to monitor instruments and keep the helicopter from deviating from its pre-programmed course. Packing everything Ingenuity needed into such a lightweight rotorcraft was an engineering feat that lived up to the project's name.

"All the boundaries we have in our engineering disciplines, we couldn't have them anymore," Ingenuity Project Head MiMi Aung told the Making Space podcast. "Everybody had to pitch in. Every gram was a challenge."

The team that built Ingenuity is much bigger than JPL's 6,000 employees. Behind the 4-lb helicopter were contractors from recognizable companies like AeroVironment, Lockheed Martin, and Qualcomm. And behind its expansive software were thousands of open source developers around the world, unaware of the gravity of their contributions.

The Ingenuity helicopter runs an embedded Linux distribution on its navigation computer. Much of its software is written in C++ using JPL's open source flight control framework F Prime (F'). Meanwhile, the Python ecosystem played a key role in everything from ground control to flight modeling to data processing.

Nearly 12,000 people contributed code, documentation, graphic design, and more to the open source software that made Ingenuity's launch possible. To celebrate this moment in open source history, GitHub added a new badge to profiles of those contributors.

Like the Arctic Code Vault Contributor badge pinned to millions of GitHub profiles last year, the new badge honors the people behind the code that pushes humanity forward.

"Many of the people who are getting a badge probably have no idea their software is being used to fly a helicopter on another planet," says GitHub Senior Director of Developer Relations Martin Woodward. "We wanted to make sure everyone was recognized for their contributions to this incredible human achievement."

And Woodward does mean everyone. JPL supplied GitHub with a list of every version of every open source project powering Ingenuity. From there, GitHub could identify all the contributors who made these projects and their dependencies possible.

"What we find is that there's a hierarchy of dependencies," he says. "A single project might have 10 or fewer dependencies, but they spider out from there, with each dependency relying on something else. Before you know it, you have an incredibly large number of people who have contributed to a project."

The same is true for practically all software systems shipping today, 99 percent of which relies on open source components. "Much like dropping a pebble in a lake, your small contribution then ripples out to have a much larger impact," says Carol Willing, a core contributor to Python. "That's one of the beauties of open source, someone else can take your good work and make it even more powerful and meaningful."

Illuminating the power of open source
"There's definitely a collective pride on occasions like this," Linux Foundation executive director Jim Zemlin says. "Linux started as a hobby operating system and now it's the de facto platform for mobile computing, cloud computing, automobiles, and so much more. Now it's an interplanetary operating system as well."

It's not just a great moment for Linux, but for open source in general. "It's humbling to step back and think 'Wow, this helped someone solve a real-world problem,'" Willing says. "You might never know the impact your project has had, or what it's enabled someone to do."

Contributions to these projects came in the form of more than just code. Python core team member Mariatta Wijaya focuses mostly on community management, documentation, and building workflow tools that help the Python team automate various processes. Those are all essential responsibilities that make open source projects function and keep the code usable. "Just creating pull requests is not enough," she says. "We still need to review code, document changes, and work with the community to decide what to build and how."

For many contributors, it's validating to see even niche and abstract work turned into something so tangible. "After spending a lot of time on bug fixes and maintenance, it's refreshing to hear about all the cool things Python is enabling," says Benjamin Peterson, another core Python maintainer and the creator of the Python compatibility library Six. "The language is used for all sorts of things I never would have imagined."

Though NASA is a US government organization, the effort behind Ingenuity is international in nature-people from well beyond JPL's usual orbit contribute. For example, Andrew Nelson is a scientist working at the Australian Nuclear Science and Technology Organisation. He's also a maintainer of SciPy, a scientific computing package widely used within JPL, including on the Ingenuity mission. "It's brilliant to know that what we spend our time doing ends up helping an awesome project like this," Nelson says. "This is one of the reasons I became a scientist."

This sort of transnational collaboration will be crucial to the future of many human endeavors. "It proves that working together is always better," says Zemlin. "There's simply too much software that needs to be written to deploy an aircraft on a distant planet, or to help to create a zero-carbon economy with smart grids and efficient energy. Any individual, any company, or any nation-state can't write it all on their own."

Open source provides a path for people with any background, anywhere in the world to put their skills to use on these important challenges. "The more we can do to be welcoming and to encourage a diverse set of contributors, the better," Willing says. "We need many different viewpoints to solve the most complex problems out there."

Getting more involved
There are many ways that open source contributors can get involved with space exploration projects.

"We've used and contributed to open source software at JPL for our projects and missions for many years," says JPL principal data scientist and Chief Technology and Innovation officer Chris Mattmann. "That includes everything from operating systems to desktop productivity tools."

But F' marks the first time JPL has open sourced flight software says Jeff Levison, supervisor of the small scale flight software group at JPL. That's largely because, previously, there were few applications for JPL's flight software outside of NASA. "It didn't make much sense before because our software was so tightly paired with custom hardware," explains Levison. "There wasn't really a driving need or benefit in releasing it to the public."

JPL developed the first version of F' in 2013. The idea was to create a reusable software framework for a variety of spaceflight projects that could be adapted to practically any hardware, purpose, or destination.

F' marked a shift in how JPL worked, explains Mars Helicopter Operations Lead at JPL Timothy Canham. Historically, JPL's software had been difficult to repurpose. It often contained context-specific functionality embedded deep within its code. To be widely reusable F' had to be modular, not bespoke. For example, the framework doesn't assume that engineers will use a particular brand of onboard camera-or any camera at all. If you need to take photos, for example, you can add or remove specific components and functionality as needed. The same applies to any sensor or hardware instrument.

F' isn't meant to be a spacecraft system in a box, Canham explains. It's more like a starter kit. There's a ground control system for sending commands to a device, a sequencer for running those commands, and a component for sending responses back to ground control. Although there's a standard library of components, you'll need to write a lot of your own software.

It quickly became apparent that F' wasn't just reusable inside of JPL, but outside of it as well. CubeSats, small satellites made with off-the-shelf commercial hardware typically deployed in Low Earth Orbit, are used by a wide variety of academic organizations and private companies. "We'd been giving some talks about it, and we had faculty at Carnegie Mellon and other organizations that wanted to use it for their own CubeSat projects," Canham says. "We eventually realized it was easier for us to open source F' than try to put people through the lengthy process of licensing the software." The team combed through the code to make sure there weren't any trade secrets or technologies controlled by international treaties, and released it under the Apache License in July 2017.

"Open source is a great way for governments and industries to route around the bureaucracy that would normally stop them from collaborating," says open source expert Karl Fogel. "You don't need months or years of negotiations and a memorandum of understanding."

Since 2017, contributors have improved the system with bug fixes, drivers, and more. Even though Ingenuity doesn't use any outside contributions-JPL froze its code several years ago-these will help F' and space exploration to reach new frontiers in the years to come.

Contributing to F' is just one way to be part of spaceflight. Ingenuity and other space exploration projects are powered by a universe of open source software. There are countless opportunities to advance human progress using the skills you already have. Your code could explore alien landscapes, model climate change, or solve health crises.

Willing encourages anyone interested in open source to take the plunge and contribute what they can. "Go for it," she says. "There are many projects that would love more contributors, whether it's in community management, documentation, code, or something else, there's always a place for everyone to start."

About The ReadME Project
Coding is usually seen as a solitary activity, but it's actually the world's largest community effort led by open source maintainers, contributors, and teams. These unsung heroes put in long hours to build software, fix issues, field questions, and manage communities. The ReadME Project is part of GitHub's ongoing effort to amplify the voices of the developer community. It's an evolving space to engage with the community and explore the stories, challenges, technology, and culture that surround the world of open source.


Related Links
Mars 2020 at Github
Mars News and Information at MarsDaily.com
Lunar Dreams and more


Thanks for being here;
We need your help. The SpaceDaily news network continues to grow but revenues have never been harder to maintain.

With the rise of Ad Blockers, and Facebook - our traditional revenue sources via quality network advertising continues to decline. And unlike so many other news sites, we don't have a paywall - with those annoying usernames and passwords.

Our news coverage takes time and effort to publish 365 days a year.

If you find our news sites informative and useful then please consider becoming a regular supporter or for now make a one off contribution.
SpaceDaily Contributor
$5 Billed Once


credit card or paypal
SpaceDaily Monthly Supporter
$5 Billed Monthly


paypal only


MARSDAILY
Ingenuity helicopter successfully flew on Mars: NASA
Washington (AFP) April 19, 2021
NASA successfully flew the Ingenuity helicopter on Mars on Monday, according to data and images sent back to Earth. "Altimeter data confirms that Ingenuity has performed its first flight - the first flight of a powered aircraft on another planet," announced an engineer in the Jet Propulsion Laboratory as the control room cheered. A short clip sent back by the Perseverance rover showed the four pound chopper grounded at first, hovering three meters above the Martian surface, then touching back ... read more

Comment using your Disqus, Facebook, Google or Twitter login.



Share this article via these popular social media networks
del.icio.usdel.icio.us DiggDigg RedditReddit GoogleGoogle

MARSDAILY
UAE to send rover to the Moon in 2022

Elon Musk's SpaceX wins $2.9B contract to build lunar lander

China releases lunar sample data online

DARPA Selects Performers for Phase 1 of Demonstration Rocket for Agile Cislunar Operations (DRACO) Program

MARSDAILY
Chinese rocket for space station mission arrives at launch site

Ningbo to build $3.05b rocket launchpad site

China advances space cooperation in 2020: blue book

China selects astronauts for space station program

MARSDAILY
Osiris-Rex leaves its mark on Asteroid Bennu

Drone test of Hera mission's asteroid radar

Asteroid crater on Earth provides clues about Martian craters

Different neutron energies enhance asteroid deflection

MARSDAILY
New Horizons reaches a rare space milestone

New research reveals secret to Jupiter's curious aurora activity

NASA's Europa Clipper builds hardware, moves toward assembly

First X-rays from Uranus Discovered

MARSDAILY
Ocean currents predicted on Enceladus

Hubble Sees Changing Seasons on Saturn

Saturn's Tilt Caused By Its Moons

MARSDAILY
Spotting greenhouse gas super-emitters

Earth from Space: Space Coast, Florida

Satellite imagery key to powering Google Earth

Four satellites planned to start space-based network

MARSDAILY
Russia says to launch own space station in 2025

NASA Crew 2 science payload to carry human tissue growth studies to ISS

Astronauts need a fridge

NASA astronaut, cosmonauts, land back on Earth from space station

MARSDAILY
As different as day and night

Researchers identify five double star systems potentially suitable for life

Study warns of 'oxygen false positives' in search for signs of life on other planets

Baked meteorites yield clues to planetary atmospheres









The content herein, unless otherwise known to be public domain, are Copyright 1995-2024 - Space Media Network. All websites are published in Australia and are solely subject to Australian law and governed by Fair Use principals for news reporting and research purposes. AFP, UPI and IANS news wire stories are copyright Agence France-Presse, United Press International and Indo-Asia News Service. ESA news reports are copyright European Space Agency. All NASA sourced material is public domain. Additional copyrights may apply in whole or part to other bona fide parties. All articles labeled "by Staff Writers" include reports supplied to Space Media Network by industry news wires, PR agencies, corporate press officers and the like. Such articles are individually curated and edited by Space Media Network staff on the basis of the report's information value to our industry and professional readership. Advertising does not imply endorsement, agreement or approval of any opinions, statements or information provided by Space Media Network on any Web page published or hosted by Space Media Network. General Data Protection Regulation (GDPR) Statement Our advertisers use various cookies and the like to deliver the best ad banner available at one time. All network advertising suppliers have GDPR policies (Legitimate Interest) that conform with EU regulations for data collection. By using our websites you consent to cookie based advertising. If you do not agree with this then you must stop using the websites from May 25, 2018. Privacy Statement. Additional information can be found here at About Us.