Updated 09 Apr 2020
PDF document and MATLAB script called oota_matlab.m that can be used to determine optimum one and two impulse orbital transfers between non-coplanar circular and elliptical orbits. The method is general and the initial and final orbits need not be coapsidal. The algorithm is based on the orbit transfer and rendezvous work of Gary McCue, Gentry Lee and David Bender, described in “Numerical Investigation of Minimum Impulse Orbital Transfer”, AIAA Journal, 3, 2328-2334 (1965); and “An Analysis of Two-Impulse Orbital Transfer”, AIAA Journal, 2, 1767-1773 (1964).
David Eagle (2020). Optimal Impulsive Orbital Transfer (https://www.mathworks.com/matlabcentral/fileexchange/39160-optimal-impulsive-orbital-transfer), MATLAB Central File Exchange. Retrieved .
Is there any similar algorithm for 6-element to 6-element transfers? So less about mission planning in advance but more about taking a craft from an actual current orbit to rendezvous with a target orbit -- particularly to bootstrap the process of primer vector analysis of the trajectory. I cooked something up with a basin hopping algorithm wrapped around levenburg-marquardt as a local optimizer wrapped around a lambert solver, but what I did feels a bit hacky.
Thanks for the code but I want to make the calculations only for an interval, for instance; leave the initial orbit between 180 and 200 true anomalies. Could you please help me?
“Numerical Investigation of Minimum Impulse Orbital Transfer”, AIAA Journal, 3, 2328-2334 (1965);
This is the correct citation.
Yes. Hohmann only describes a transfer between two coplaner circular orbits. This specifically solves the more general problem of minimizing the delta-v between orbits with eccentricities less than 1 (general elliptical problem that includes circular) that might have an inclination difference between them or even be on a different ascending node. The minimum solution will split inclination change in between the two burns.
Are there any benefits to this over a simple Hohmann orbital transfer?
Source code improvements and updated PDF documentation
Minor editing updates. Additional dimension statements for vectors and arrays.
Script now uses primer vector theory to determine optimality of solutions. Also provides summary and detailed text files of the solutions(s). PDF document updated to reflect these changes.
Updated to create graphics display of the orbit transfer. Time-of-flight bug fix and document update also.