"Space, the final code frontier..." with the General Mission Analysis Tool from open.NASA
Today's Wild Wednesday project is an open source project governed by NASA, via open.NASA. This is a large open source C++ project that lets you run your own space missions, how cool is that? We're talking real space missions, not a game or like, but real, well simulated real, missions.
What is GMAT?
The General Mission Analysis Tool (GMAT) is a space trajectory optimization and mission analysis system developed by NASA and private industry in the spirit of the NASA Vision. GMAT contains new technology and is a testbed for future technology development. To satisfy NASA's mandate and maximize technology transfer, GMAT is an open source software system licensed under the NASA Open Source Agreement.
The GMAT Mission
Put simply, the goal of the GMAT project is to develop new space trajectory optimization and mission design technology by working inclusively with ordinary people, universities, businesses, and other government organizations, and to share that technology in an open and unhindered way. GMAT is a free and open source software system: free for anyone to use in development of new mission concepts or to improve current missions, freely available in source code form for enhancement or further technology development.
Late last month, the Goddard-led GMAT team unveiled the General Mission Analysis Tool R2012a, the latest in a line of beta feature-development releases that we’ve been putting out for the past five years. This is an important milestone for the project: earlier this year our team switched almost entirely to validation, documentation, and QA in preparation for our first production-quality release, currently scheduled for early next year. R2012a represents a feature-complete preview of that release.
The General Mission Analysis Tool (GMAT) is a space trajectory simulation, analysis, and optimization system developed by a team made up of NASA Goddard Space Flight Center and private industry partners. It is developed as open source under the NASA Open Source Agreement: not only is the source code for each release available for download, but the primary development repository is hosted publicly at SourceForge.net. Here at GSFC, it’s been used as a primary or secondary design tool on many of our most exciting missions: LCROSS, ARTEMIS, LRO, MMS, OSIRIS, and others. And externally, it’s been used by entities as varied as the Air Force Research Lab, Iowa State University, and the European Space Agency. Contributors to this release included NASA GSFC civil servants, Thinking Systems Inc., and A.I. Solutions.
The R2012a release offers some exciting improvements from the last year of development:
- Ground track plot: GMAT can now show a two-dimensional ground track of your spacecraft on any planet or celestial body you choose.
- Orbit Designer: Now you can design an (Earth-centered) orbit as easily as choosing a type and a small set of defining parameters. For example, a geostationary orbit can now be created with just one click.
- Preview features: We’ve included previews of an eclipse locator feature, which can detect when a spacecraft will enter and exit shadow regions, and of a C-language interface to GMAT’s modeling features.
- Many others: This version of GMAT includes many smaller improvements to its modeling capabilities, performance, and usability.
Here's links to more information and details
Let's look at some screenshots;
And as I mentioned it's open source (and includes a VS2010 Solution and such)...
What's a nice touch is that there's a pretty darn complete PDF on getting this source to compile for you with VS2010, from the Compiling GMAT wiki page;
This document describes the steps needed to build GMAT using Visual Studio 2010 (VS2010). The instructions start with a fresh installation of VS2010, provide directions for installing wxWidgets, and finally for building GMAT.
The General Mission Analysis Tool, GMAT, is a space trajectory optimization and mission analysis system developed by NASA and private industry in the spirit of the NASA Vision. GMAT contains new technology and is a testbed for future technology development. To satisfy NASA’s mandate and maximize technology transfer, GMAT is an open source software system licensed under the NASA Open Source Agreement. Interested parties are encouraged to use GMAT to plan spacecraft missions, to build the system when they have requirements for features not yet included in GMAT, and to contribute new capabilities to the system either through direct contributions to the code base or through plugin libraries.
This document describes the steps a new developer takes to set up a build environment for GMAT using Microsoft’s Visual Studio development system. The instructions were written using Visual Studio 2010 Express Edition, and validated using both the Express Edition and the Professional Edition. The following instructions assume that the developer is running a Windows XP, Vista, or Windows 7 based computer. Separate instructions are available for users building GMAT with the Gnu Compiler Collection (gcc) on Windows, Mac, or Linux based computers.
The following sections describe installation of the compiler, folder arrangements and code used in the GMAT build files, preliminary steps necessary to collect and build the libraries GMAT needs, and the build steps for GMAT itself. The document concludes with instructions for plugin libraries that GMAT uses to interface with MATLAB and the MATLAB Optimization toolbox, to perform estimation (the estimation plugin is a preview of capabilities still in development), and the VF13ad optimizer (core code available separately).
Now this project is not for the faint of heart, and the source really is meant for rocket scientists, but if you're looking for a project that's probably outside your comfort zone, this one might just be it...