Created at NASA’s JPL, the open-source flight software called F Prime isn’t
just powering humanity’s first interplanetary helicopter; it’s also powering
inspiration at multiple universities.
When NASA’s Ingenuity Mars Helicopter hovered above the Red Planet April 19
on its maiden voyage, the moment was hailed as the first instance of
powered, controlled flight on another planet. Figuring out how to fly on
Mars, where the air is thin but gravity is about a third of that on Earth,
took years of work. Along with the challenge of developing a craft that was
up to the task, the mission needed software to make the unprecedented
flights possible.
So they turned to F Prime, a reusable, multi-mission flight software
framework designed for CubeSats, small spacecraft, and instruments. The
software was architected by Tim Canham in 2013 as part of a technology
exploration effort at NASA’s Jet Propulsion Laboratory in Southern
California with the aim of creating a streamlined, low-cost software
development approach that would allow components written for one application
to be reused easily in other applications and run on a range of processors.
In 2017, the team pushed for F Prime to be released as open-source, meaning
anyone could freely access the software’s source code, allowing external
collaborators, universities, and the general public to use the framework on
their own projects. It is one of hundreds of codes NASA makes available to
the public for free, both as open-source or through its software catalog.
“F Prime has enabled a lot of goals we’ve had at JPL to design a truly
reusable multi-mission flight architecture with the added bonus of the
open-source collaboration and visibility afforded by the Mars Helicopter
project,” Canham said. “It’s kind of 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.” (The helicopter carries a
combination of custom-made and off-the-shelf components – many from the
world of cell phone technology – including its two cameras.)
Before Ingenuity, F Prime (also written as F′) had already been put through
its spacecraft paces, operating successfully aboard the ISS-RapidScat
scatterometer instrument on the International Space Station for two years
beginning in 2014 and JPL’s ASTERIA CubeSat in 2017. Looking forward, F
Prime is scheduled to run on projects including NASA’s Lunar Flashlight
CubeSat, which will look for surface ice in the Moon’s craters; the agency’s
Near-Earth Asteroid Scout CubeSat, which will map an asteroid; and
potentially JPL’s Ocean Worlds Life Surveyor instrument, which would help
search for water-based life in our solar system.
Aadil Rizvi, flight software lead for Lunar Flashlight and NEA Scout at JPL,
says F Prime provides an out-of-the-box solution for several flight software
services, such as commanding, telemetry, parameters, and sequencing for the
spacecraft. There’s also a sort of “auto-coding” tool that makes F Prime
highly portable for use across missions.
“This makes it quite easy to drop in a software component from something
like Mars Helicopter into another mission’s flight software such as Lunar
Flashlight or make the component available for open-source use by anyone
else using F Prime,” Rizvi said. “And it’s pretty cool that a significant
portion of software used on the Mars Helicopter is identical to software on
another spacecraft going to the Moon, or an asteroid, or sitting on a
student’s desk.”
Universities See the Benefits of F Prime
Since its open-source debut, F Prime has gradually begun gaining traction as
a useful flight software option for university and student projects.
At Georgia Tech, a team has incorporated F Prime in its GT1 CubeSat, aimed
to serve as an education exercise that will carry an interactive and
automatic amateur radio payload.
“We chose F Prime after evaluating a handful of flight software frameworks,
including the option of writing our own from scratch,” said Sterling Peet,
Georgia Tech research faculty member and software lead for GT1. “We don’t
have the resources to build all this code from scratch, use, and test it to
ensure the necessary levels of reliability in-house. But by using F Prime,
we can leverage the legacy it has and also contribute our testing and
related benefits back to the F Prime community and project.”
A Carnegie Mellon University student-led team chose F Prime to run its Iris
Lunar Rover, a tiny robot designed to prove the feasibility of nano-rovers
in planetary exploration. “It was a viable option with a direct link to the
creators, so we decided to use it ourselves,” said Iris Deputy Program
Manager Raewyn Duvall.
F Prime will control the rover while recording data and monitoring its
health.
“The fact that it is open-source gave us a wide range of examples to base
our own modules and let us use the forum to get quick answers without having
to worry about potential support service charges just to get answers to
questions we may have had,” Duvall said.
JPL Small Scale Flight Software Group Supervisor Jeff Levison sees
university partnerships like the ones with Georgia Tech and Carnegie Mellon
as a two-way street: JPL provides world-leading flight systems expertise to
budding engineers, and then down the line, those future engineers could end
up bringing their talents and a working understanding of F Prime to start a
career at JPL.
“F Prime is not an easy architecture to pick up, so a student who manages to
master it and create a solid working project clearly has amazing potential
for an organization like JPL,” said Carnegie Mellon’s Duvall. “Many of our
students working on Iris that learned F Prime have expressed interest in
applying to JPL, which I believe proves F Prime’s worth as a recruitment
tool.”
Source
Tags:
Space & Astrophysics