These code sets enable the determination of interplanetary missions - along the lines of the Voyager missions. There are two primary functions - determining a feasible trajectory using Keplerian methods , then verifying the determined trajectory using Newtonian methods.
The Keplerian methods for trajectory are fast to determine, but comparatively 'coarse'. The Newtonian method is very accurate at verifying a trajectory, but VERY slow to calculate.
LIMITATIONS - to keep it simple, the solar system is 2D, and the planetary orbits are perfectly circular.
(update) - the target planets can be set by changing the planet on line 88 (part1_keplerian_trajectory.m), and the miss distances for the planets being passed (line 88). This would be more effective with a GUI - I will look at this when time permits.
There are better developers out there and I welcome your comments, both for the trajectory methods and the code efficiency.
Stephen Walker (2020). Interplanetary Mission Planner & Verifier (https://www.mathworks.com/matlabcentral/fileexchange/26107-interplanetary-mission-planner-verifier), MATLAB Central File Exchange. Retrieved .
I just posted a fast & robust Lambert-routine on the FEX, it should be online in a couple of days. I hope this can help you as well; let me know what you think. Best regards,
Thank-you for the feedback. My intent is to improve these submissions and the comments are helpful.
The code is flexible enough to dictate the planets one wants to visit, however it really needs a GUI to do this well. This will be implemented in my next revision.
The intent of the code was to explore patched-conics as a tool for mission planning, as well as verifying it with a simple (but slow) Newtonian process.
As for Lambert - thanks for the suggestion. I am just learning Lambert now & I am in the process of implementing it in a booster ascent guidance routine. I had not considered using it
for interplanetary work.
I haven't documented a bug with the code either. If the velocity is too high on passing a planet and the next trajectory is hyperbolic rather than elliptical, it will crash (I haven't catered for an imaginary result). I will fix this after the GUI is done.
Code's good, well documented and it's understandable what you do.
But...it's all a bit too simplistic for my taste. Did you ever hear of Lambert's problem? It's a much easier way to do the targeting from planet to planet. There are a few lambert solvers right here on the FEX, you could give them a try.
Have you also been able to verify other missions than just Voyager? You could try to find Cassini/Huygens, for example, or Galileo, they're a bit more challenging than the Voyagers (from a trajectory point of view). I wasn't able to find these trajectories with your code, but perhaps you as the author might have better luck.
The text description has been updated, to add detail on changing target planets.