Skip to content
/ EMTG Public
forked from nasa/EMTG

LASP fork of NASA's Evolutionary Mission Trajectory Generator (EMTG)

Notifications You must be signed in to change notification settings

lasp/EMTG

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  _____ __  __ _____ ____ 
 | ____|  \/  |_   _/ ___|
 |  _| | |\/| | | || |  _ 
 | |___| |  | | | || |_| |
 |_____|_|  |_| |_| \____|                        
======================================================================================================================================
Evolutionary Mission Trajectory Generator (EMTG) Open Source Release
Originating author: Jacob Englander
Maintainer: NASA Goddard Spaceflight Center (GSFC) Code 595 EMTG team ([email protected])
CU LASP Maintainer: Jeremy Knittel ([email protected])
Version: 9.02
License: NASA Open Source Agreement (https://www.nasa.gov/open/open-source-development.html)
======================================================================================================================================
~~~~~~~~
Purpose:
~~~~~~~~
The contents of this NASA GSFC public software release distribution contains all of the source code and documentation for the 
Evolutionary Mission Trajectory Generator (EMTG). No third-party code is included in this release. Users need to download and install 
all third-party dependencies. 

~~~~~~~~~~~~~
Dependencies:
~~~~~~~~~~~~~
EMTG has several software dependencies but all are free software. EMTG requires an optimization package, and currently either
the Sparse Nonlinear OPTimizer (SNOPT, not free) and the Interior Point OPTimizer (IPOPT, free) are tested and verified.

If using SNOPT, the current EMTG software is configured to work best with SNOPT 7.6. To acquire SNOPT visit their product page 
(http://sbsi-sol-optimize.com/asp/sol_product_snopt.htm). 

If using IPOPT, the current EMTG software is configured to work best with IPOPT 3.14. To acquire IPOPT, visit their github
(https://github.com/coin-or/Ipopt).

~~~~~~~~~~~~~
Installation:
~~~~~~~~~~~~~
The GSFC EMTG team is primarily using Windows and the initial installation guide is written for Windows. 

The CU LASP team is primarily using Mac and Linux. The CMake build system has NOT been updated for the CU LASP fork, and small 
modifications are likely necessary. To use IPOPT only, ensure compiler flag 'NOSNOPT' is set. To use SNOPT only, ensure 
compiler flag 'NOIPOPT' is set. Reach out to the GSFC EMTG team for help modifying CMake build system. 

To see instructions on the as-is cmake build system, Navigate to the /docs/build_system/ directory for EMTG_*_build_system*.pdf 
documents detailing step-by-step instructions on how to install the software dependencies and build EMTG. These documents 
are catered to specific software dependency versions. Alternative versions may work but proceed at your own risk when 
deviating from the provided install guidance.

~~~~~~~~~~~~~
Disclaimer:
~~~~~~~~~~~~~

EMTG is provided "as is" but is in a capable state. The US Government, NASA, the University of Colorado and the EMTG developers 
cannot guarantee that the results you produce with EMTG are correct. EMTG is intended for use as a trade study tool and an 
initial guess generator for a flight navigation tool. 

======================================================================================================================================
**************************************************************************************************************************************
The EMTG development team is pleased to share the fruits of our labors with you. We ask, but do not require, that if you do something 
really awesome with it please publish your awesome accomplishments and cite us.
**************************************************************************************************************************************

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Frequently Asked Questions (FAQ)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Q: Is there a user manual?
A: Not at the moment but work is being done to enhance the user documentation associated with EMTG. Future releases will add
user documentation to the /docs/ directory.

Q: Is there a reason the GUI has so many bugs?
A: Due to limited staffing, core functionality was prioritized. This is an excellent opportunity for contribution from the open 
source community.

Q: Can you give me technical support for installing and operating EMTG?
A: Feel free to reach out to the team contact information provided at the header of this file but be aware that the development team
has limited availability to respond to all inquiries.

Q: Will EMTG work on Linux?
A: Yes, it will. Linux build instructions for the public are in development.

Q: Will EMTG work on a Mac? If so, why is there not a Mac build document?
A: Yes EMTG works on a Mac. The GSFC development team did not have access to a Mac to be able to do development/testing and the
CU LASP development team did not have the ability to test a reliable build system for it. 

Q: Will EMTG work on my smart phone?
A: We are not pursuing getting EMTG to run on a smart phone, but if you try it and it works, we'd love to hear about it!

Q: How frequently will you update EMTG?
A: Resources are limited for the development team so open source releases will occure infrequently.

Q: Can you make me an executable?
A: No. EMTG depends on a number of third-party packages and NASA/University of Colorado does not have the rights to distribute all of them.

Q: Why doesn't my PyEMTG work?
A: The various Python packages and libraries change fast and the development team has limited resources. The build system 
instructions are focused on specific package versions but may also work with other versions. Please make adjustments to PyEMTG 
as-needed to make it work on your system.

Q: I have a different SNOPT version than what is listed in the build system instructions. Will it work with EMTG?
A: It is possible other version will work. Feel free to try it and if you succeed consider providing us with updates we can 
incorporate in future releases. You can make changes to /src/InnerLoop/snoptProblemExtension.h to get it to talk to your SNOPT.

Q: Can I use this commercially?
A: Yes.

Q: Can I teach a class with this?
A: Absolutely!

Q: I found a bug! How can I submit the bug so it can potentially be fixed in a future version?
A: Thank you for finding the bug and wanting to improve future versions. Please email us about the bug so that we can fix it for 
future versions!

About

LASP fork of NASA's Evolutionary Mission Trajectory Generator (EMTG)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 69.3%
  • Python 23.5%
  • TeX 5.7%
  • CMake 1.5%