Earth-to-Mars Interplanetary TCM Optimization - SNOPT

Optimization of interplanetary trajectory correction maneuvers (TCM) during Earth-to-Mars spaceflight using the SNOPT algorithm.
565 Downloads
Updated 14 May 2025

View License

This submission is a MATLAB script called e2m_tcm_snopt which can be used to solve the classic one impulse, Earth-to-Mars interplanetary trajectory correction maneuver (TCM) optimization problem. The software implements a simple shooting method that attempts to minimize the scalar magnitude of the TCM delta-v while numerically integrating the n-body heliocentric equations of motion and solving for user-defined final orbit conditions at Mars. With the implementation of proper planet-centered coordinate transformations, the software can be used for other planets.
The final conditions of the spacecraft at closest approach at Mars can be determined using one of the following user-defined options;
  • flight path angle, radius and orbital inclination
  • user-defined B-plane coordinates
  • grazing flyby; user-defined B-plane angle
This MATLAB script reads JPL 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_tcm_snopt script uses routines from the MICE software suite to read and evaluate the JPL ephemeris file. Platform-specific MICE mex files, support functions and binary ephemeris files 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 purchased/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 (2025). Earth-to-Mars Interplanetary TCM Optimization - SNOPT (https://www.mathworks.com/matlabcentral/fileexchange/48690-earth-to-mars-interplanetary-tcm-optimization-snopt), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2024b
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.2.0.0

Updated several MATLAB functions and PDF documentation. Added areocentric (Mars-centered) graphic of the approach trajectory.

1.1.0.0

Updated to use JPL DE421.bsp ephemeris (included in zip file) and MICE routines.

1.0.0.0