The Software of Space Exploration
by David Boswell03/30/2006
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 |
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 mozdev.org.
Return to ONLamp.com.
You must be logged in to the O'Reilly Network to post a talkback.
Showing messages 1 through 10 of 10.
-
Venera Images - Visual C++, PhotoShop
2006-09-24 17:34:14 DonPMitchell [Reply | View]
The article mentions the Venera images which I restored. For those interested, most of this work was done with custom C++ software, developed in Microsoft Visual Studio and Windows XP. Most other work was performed with Adobe Photoshop CS and CS2.
-
CHIPsat used VxWorks
2006-09-15 06:32:37 comments [Reply | View]
CHIPSat's onboard computer ran VxWorks. It didn't run Linux.
-
Midnight Mars Browser
2006-04-07 13:43:47 mmbman [Reply | View]
Midnight Mars Browser (http://midnightmarsbrowser.blogspot.com) is a Java desktop program for viewing Mars Rover images. It downloads the raw JPGs from the NASA/JPL Mars Rover sites and displays them in slideshows or panoramic views. Although it isn't as sophisticated as Maestro, the data is kept up-to-date, since it uses the available data from NASA/JPL. It is also open source, although at the moment I am the only contributor. The program is not affiliated with NASA/JPL.
-
Surrey Satellite Technology Ltd
2006-04-07 11:36:21 Ohreally [Reply | View]
Surrey Satellite Technology Ltd, who built UoSAT-12, are at http://www.sstl.co.uk/
(Yes, a number of your sources get the name wrong.)
-
Open-Source Simulation
2006-04-07 05:37:54 HighEarthOrbit [Reply | View]
I created an Open-Source Space Simulation toolbox, Open-SESSAME (http://spacecraft.sourceforge.net) which is used for research & education of spacecraft dynamics and controls. It also utilizes a lot of other open-source tools and libraries (such as Doxygen, math library, etc.)
There is a paper in the upcoming Space Mission Challenges in Information Technology conference (http://smc-it.jpl.nasa.gov/) that discusses it and other open-source simulation software.
-
EdGCM: Climate modeling at home
2006-04-06 22:26:50 mankoff [Reply | View]
EdGCM (http://edgcm.columbia.edu) is a NASA climate model ported to run on Mac and Windows computers, and wrapped in a GUI interface.
-
One more in the "Exploring from Your Desktop" section
2006-04-06 16:13:51 tricaric [Reply | View]
ORSA is an interactive tool for scientific grade Celestial Mechanics computations. Asteroids, comets, artificial satellites, Solar and extra-Solar planetary systems can be accurately reproduced, simulated, and analyzed.
http://orsa.sourceforge.net/
-
Additional information for the "Penguins in space" section
2006-03-31 23:27:11 Ohreally [Reply | View]
David Boswell's "The software of space exploration" is an interesting article -- but too reliant on single sources. The below material may be of interest to correct statements made in his "Penguins in Space" section.
http://www.sheflug.co.uk/stakem2.html
Interview with Pat Stakem, leader of the FlightLinux project:
"Our FlightLinux Project concluded on June 30, 2002. We did not have sufficient time to complete the planned flight demonstration."
Any export restrictions would require applying for and getting an ITAR license.
What was actually uploaded to and tested on UoSAT-12 was a different IP stack developed by VyTek LLC. See:
http://www.sciencedaily.com/releases/2000/05/000502185337.htm
http://ipinspace.gsfc.nasa.gov/documents/
and
K. Hogie, E. Criscuolo and R. Parise, Using standard Internet Protocols and applications in space, Computer Networks, special issue on Interplanetary Internet, vol. 47 no. 5, pp. 603-650, April 2005.
That team later went on to run Linux on CANDOS, the communications and navigation demonstration onboard shuttle Columbia in its last fateful mission. CANDOS demonstrated mobile Internet communication using Mobile IP. The above paper also describes that work.
The first IP node on a satellite in orbit was on STRV-1b, in 1996. This predates the UoSAT-12 work. A software stack was uploaded, given an IP address, and pinged by researchers working with NASA JPL. See:
http://klabs.org/DEI/References/avionics/small_sat_conference/1996/strv.pdf
R. Blott and N. Wells, The Space Technology Research Vehicles: STRV-1 A, B, C and D, Proceedings of the 10th AIAA/USU Small Satellite Conference, Logan, Utah, 1996.
A significant step for Linux in orbit operationally on a satellite was CHIPSat, which was based around a single Linux-based computer. That was also claimed to be "the first orbiting node on the Internet" -- after UoSAT-12 and STRV-1b, of course.
http://www.google.com/search?q=%22first+orbiting+node+on+the+Internet%22
K. Rubio, J. Janicik, and J. Szielenski, CHIPSat's TCP/IP mission operations architecture - elegantly simple, paper SSC02-IV-4, Proceedings of the 16th Annual AIAA/USU Small Satellite Conference, Logan, Utah, August 2002.
It's difficult for a layman journalist to get close to accuracy without also interviewing experts for an article to provide points of view and sanity-checking... relying solely on web searches can be misleading.
-
Open Source Software in Engineering and Science
2006-03-31 03:25:44 jonsberndt [Reply | View]
Coincidentally, I wrote a related article in the January/February issue of Horizons, the online magazine for the Houston chapter of AIAA. The article, "Open Source and Free Software in Science and Engineering, for Education, Home, and Work", gives a survey of selected software titles. I also discuss the use of open source software in the aerospace industry in my introduction to the issue. You can read it here:
http://www.aiaa-houston.org/newsletter
Jon Berndt
Editor, Horizons
AIAA Houston -
Open Source Software in Engineering and Science
2006-03-31 20:47:20 David Boswell |
[Reply | View]
There were several projects in your article that I wasn't familiar with. It's amazing to see how many different types of applications and tools are being created by the community.
I've also recently come across some more public domain software that NASA has released that deals with climate modeling:
http://www.giss.nasa.gov/tools/
http://edgcm.columbia.edu/about/software/software.html






