Earth-to-Mars End-to-End Mission Design – SNOPT

Version 1.0.0 (16.4 MB) by David Eagle
Design and optimize a trajectory from Earth park orbit to encounter at Mars using the SNOPT nonlinear programming algorithm.
4 Downloads
Updated 17 Nov 2024

View License

This submission is a MATLAB script named e2m_matlab_snopt that can be used to design and optimize ballistic interplanetary missions from a Earth park orbit to encounter at Mars. The software assumes that interplanetary injection occurs impulsively from a circular park orbit. The type of final Mars-centered (areocentric) mission “targeting” and the target values are defined by the user.
The first part of this MATLAB script solves for the minimum delta-v using a zero-sphere-of-influence (ZSOI), two-body Lambert solution for the heliocentric transfer trajectory from Earth to Mars. Using this solution as an initial guess, the second part implements a simple shooting method that attempts to optimize the characteristics of the geocentric injection hyperbola while numerically integrating the spacecraft’s geocentric and heliocentric equations of motion and targeting to user-defined mission constraints at Mars.
The spacecraft motion within the Earth’s sphere-of-influence (SOI) includes the Earth’s J2 oblate gravity effect and the point-mass perturbations of the sun and moon. The heliocentric equations of motion include the point-mass gravity of the sun and the first seven planets of the solar system.
The user can select one of the following delta-v optimization options for the two-body solution of the interplanetary transfer trajectory;
  1. minimize departure delta-v
  2. minimize arrival delta-v
  3. minimize total delta-v
The user also selects the type of final mission constraints from the following script options;
  1. B-plane (B dot T and B dot R)
  2. orbital elements (radius and inclination)
  3. EI conditions (altitude and flight path angle)
  4. grazing flyby
  5. node/apse alignment
The characteristics of the final user-defined areoocentric (Mars-centered) mission constraints can be calculated in one of the following coordinate systems;
  1. Earth mean equator and equinox of J2000
  2. Mars mean equator and IAU node of epoch
This MATLAB script reads JPL DE421 lunar and solar ephemerides in a machine-independent binary format (kernels) which are available from the SPICE web site and by anonymous ftp from ftp://ssd.jpl.nasa.gov/pub/eph/planets/bsp. These *.bsp ephemeris files are IEEE-Little Endian style of binary kernel. This is the binary form native to PC/Linux, PC/Windows and MAC/Intel machines. Additional information about JPL ephemerides can be found at http://naif.jpl.nasa.gov/naif/.
The e2m_matlab_snoptscript uses routines from the MICE software suite to read and evaluate the JPL ephemeris file. Platform-specific MICE mex files, support functions and the binary ephemeris file (de421.bsp) are available at naif.jpl.nasa.gov/naif/toolkit_MATLAB.html. MICE is a MATLAB implementation of the SPICE library created by JPL.
MATLAB versions of SNOPT for several computer platforms can be purchase/requested at Professor Philip Gill’s web site which is located at http://scicomp.ucsd.edu/~peg/. Professor Gill’s web site also includes a PDF version of the SNOPT software user’s guide.

Cite As

David Eagle (2024). Earth-to-Mars End-to-End Mission Design – SNOPT (https://www.mathworks.com/matlabcentral/fileexchange/175903-earth-to-mars-end-to-end-mission-design-snopt), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2024a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0