Published on (
 See this if you're having trouble printing code examples

The Software of Space Exploration

by David Boswell

Several of the internet's pioneers have recently become space exploration pioneers as well. Paul Allen, cofounder of Microsoft, funded the company that created SpaceShipOne and is financing the construction of the Allen Telescope Array, which will provide dedicated radio telescopes to SETI researchers. Elon Musk, cofounder of PayPal, started SpaceX to develop a series of low-cost expendable rockets. Amazon's Jeff Bezos and id Software's John Carmack are both working on vehicles for space tourism at Blue Origin and Armadillo Aerospace. Mark Shuttleworth, founder of Thawte and the Ubuntu Foundation, also became the first African in space and the second space tourist when he visited the International Space Station in 2002.

It is not just these internet entrepreneurs who are bringing changes to the space community. NASA and other space agencies and organizations have been adopting the tools and processes of the internet to change the way they conduct missions and how they collect and analyze data. For example, NASA has released software to the open source community and has also used existing free and open source software for its own missions. This article surveys some of the most interesting software being used for space exploration.

Exploring from Your Desktop

Today, space enthusiasts around the world have access to many of the same tools and data that scientists at the space agencies use. From your own computer you can not only explore the solar system and beyond, but also analyze this information to make new discoveries.

NASA's World Wind application uses high-resolution satellite imagery to allow people to zoom anywhere on Earth they want. The latest version also includes data for exploring the moon. This is one of several applications that NASA has released to the open source community under its NOSA license. (Other repositories of NASA open source projects include Ames Research Center and Goddard Space Flight Center.) Currently, World Wind is available only as a Windows install, but like any good open source project, it is looking for contributors who are interested in helping out with a Mac and Linux port.

If you would rather take a look around Mars, download the Maestro software. (You can download the software but not the data sets at Mars rover-related sites.) Maestro is a freely available version of the software used as part of the Spirit and Opportunity rovers' mission to explore Mars. These rovers have returned an enormous amount of information about Mars, but they are just one of many missions that the public has access to. The Planetary Data System site is a huge archive of data from NASA planetary missions, astronomical observations, and laboratory measurements. Several software tools to work with the PDS repository are also available.

Related Reading

Astronomy Hacks
Tips and Tools for Observing the Night Sky
By Robert Bruce Thompson, Barbara Fritchman Thompson

Many of the archival astronomical images available are in the difficult-to-access Flexible Image Transport System format. To expand the number of people who can use these images, the European Space Agency, the European Southern Observatory, and NASA released the FITS Liberator plugin for Photoshop. (Although the plugin doesn't support the GIMP, it should work with the ImageJ application that has been released to the public domain.) The plugin is not available under an open license, but it does use the CFITSIO library for reading and writing data files in FITS, which is free. Some striking images of the surface of Venus show what one person can do with data from old probes. More than 20 years after the Soviet Venera missions, Don Mitchell took the original digital data and reprocessed it to produce much cleaner images. Amateur enthusiasts were also the first to release mosaics and panoramic images from the Huygen probe's descent to the surface of Saturn moon Titan. They made use of another freeware tool, Terragen, that generates photorealistic landscape images.

A number of tools allow you to track objects in space, from asteroids to shuttle missions. A consortium of scientists working in the field of celestial mechanics has released OrbFit as free software under the GPL. This software can compute the orbits of asteroids and predict an asteroid's future position. You can also track artificial satellites with several free-as-in-beer and free-as-in-freedom options. Amateur radio enthusiasts use Linux and these tools to hear transmissions from the space station or from other satellites in Earth orbit.

Looking beyond our solar system, one of the most well-known software projects involved in space exploration is SETI@Home. It was one of the first volunteer-distributed computing projects and has been enormously successful. The project originally had a custom client that ran as a screensaver, but SETI@Home has recently transitioned to open source by using the BOINC platform. This switch should make the search for extraterrestrial life more efficient and more powerful--but it also means that anyone with the original SETI@Home client will need to upgrade to the new version, because the project no longer accepts results from the old client as of December 2005. A SETI@Home transition tool will help easily transfer accounts to the new system.

Penguins in Space

Existing software projects, notably Linux, are also finding their way into space missions. Linux has already been flown in space, and there are plans for expanding its role in future missions and in the systems on the ground that support those missions. Many academics working at the space agencies have a history using Unix, so a transition to Linux has been a natural fit.

In 1997, an experiment flown on the space shuttle Columbia used a modified version of Debian. Linux was selected because it was easier to debug and had more features than the DOS version of the software the experiment had used in a previous flight. A few years later, the FlightLinux project evaluated Linux's suitability as an operating system for spacecraft onboard computers. The demonstration took place on Surrey Space Technologies' UoSAT-12 satellite. (This satellite has an interesting history; it was also the first functioning node on the internet and the first web server in space.) An interview with Pat Stakem, the FlightLinux project lead, has more information about the issues his team encountered and the advantages they identified of Linux over existing software options. Unfortunately, due to issues of export restrictions on satellite control software, no downloadable code is available for FlightLinux.

There are also plans to use Linux on the International Space Station. The European Space Agency has announced plans to use Linux both for its Automated Transfer Vehicle (ATV) resupply ship and its Columbus Lab module. The first ATV is currently set to launch in 2007, and the Columbus module could be launched by the end of the decade. Two applications have been created to support the ATV. RACSI (Remote ATV Control at the International Space Station), intended for use by astronauts aboard the space station, runs on an IBM ThinkPad laptop installed with Linux. GOAS (Ground Operator Assistant System) is for command and control operations on the ground; it also runs on Linux. Novell has also announced that it is working with the European Space Agency to build a high-performance storage system on top of SUSE Linux for the European space lab module.

Linux has even been part of a mission to another planet. The European Space Agency's Beagle 2 lander used Linux for its Mission Control Software and Mission Planning Software applications. The probe was sent to Mars in 2003, but unfortunately it went missing after its descent to the surface. NASA's Reconfigurable Scalable Computing project is investigating using Linux to help make future planetary rovers, vehicles, and sensors more flexible and capable. The project is building a modular computer system with small, stackable motherboards to make different-size clusters. Field Programmable Gate Arrays are remotely reprogrammable to adapt to changing conditions or alter computing resources as needed.

On the ground, NASA is using Linux in its newest and most powerful supercomputer. Named in honor of the space shuttle astronauts lost in 2003, the Columbia Supercomputer contains 10,240 Intel Itanium 2 processors and is used to run aeronautics, science, and engineering projects. NASA has a long history with supercomputer innovations; notably, the Beowulf clustering project was created there as a way to use commodity hardware as a cost-effective alternative to large supercomputers. In the labs, NASA is also looking at Linux for use in research and development projects. The Personal Satellite Assistant is a self-propelled communications, monitoring, and support device that would be used on the station or on another ship and the PSA prototype runs Linux. The Extra-Vehicular Activity Robotic Assistant is another astronaut assistant that uses Linux. This is a wheeled vehicle that would help on the surface of the moon, Mars, or other body.

David Boswell has been involved in the Mozilla community for more than six years. He is also a coauthor of Creating Applications with Mozilla and helped launch

Return to

Copyright © 2009 O'Reilly Media, Inc.