0

I want to write a program to calculate the optimal way for a spacecraft with a given engine to reach some body astronomical body with the minimum fuel burn (possibly adding in constraints on time, relights, e.t.c...).

The idea is for this to give as good accuracy as possible so I'll use N-Body modelling (at least for major planets in the path) and include gravity assists. I'd also like to add support for things like ion thrusters if possible.

I know this would be complex (that's kind of the idea, this is meant to be a showcase project) but would anyone be able to give me a good idea of how complex and/or where to find info on the appropriate maths and modelling techniques.

For context:

  • I'm a 3rd year astrophysics student
  • I can program reasonably well in both the python and rust languages

Thanks and have a great day, pioneer.

Pioneer_11
  • 499
  • 2
  • 8
  • 1
    It seems like bits and pieces of this have been addressed many times on this site. Your question would be improved by narrowing it down to just the bits and pieces you are missing. – Organic Marble Dec 03 '23 at 14:47
  • @OrganicMarble I'm aware that bits of this will have been answered across the site. However, I'm not trying to work out how to do a specific thing. I'm trying to get an idea of how complex a project this would be and what I need to know to do it. – Pioneer_11 Dec 03 '23 at 15:12
  • @Pioneer_11 I would check out some videos where they explain how to calculate a certain type of transfer orbit. There are lots of types of transfer orbits like Hohmann transfer orbit, bi elliptical orbits,... . To answer your question, it would be good to know which kind of orbit you are looking for. For starters I can recommend some videos like these here: https://www.youtube.com/watch?v=KdHI5Fn9Fu8 https://www.youtube.com/watch?v=O_EsXfVN988 https://www.youtube.com/watch?v=bcvnfQlz1x4&pp=ygUiaG93IHRvIGNhbGN1YWx0ZSBhIHRyYW5zZmVyIG9yYml0IA%3D%3D – The Rocket fan Dec 03 '23 at 15:48
  • There also have been some answers on Stackexchange which you might find interesting: https://space.stackexchange.com/questions/64473/how-i-can-find-the-angular-orbital-velocity-of-satellite-in-circle-orbit https://space.stackexchange.com/a/64730/44505 – The Rocket fan Dec 03 '23 at 15:50
  • How are you at AI? Interplanetary trajectory engineering is a notoriously tricky problem even for experts. – John Doty Dec 03 '23 at 20:45
  • @TheRocketfan thanks, I'll take a look. I'm familiar with the various types of orbit but they're two-body orbits which while good approximations aren't going to give the degree of accuracy a real mission would require. I was thinking more of an approach that would try a few promising trajectories and narrow in on an optimum (somewhat like the shooting method in quantum mechanics) but as I said I'm not too sure how complex that would be – Pioneer_11 Dec 03 '23 at 21:46
  • @JohnDoty a little but not massively. Why would AI be a good fit for this type of problem? – Pioneer_11 Dec 03 '23 at 21:47
  • Because there is no formula and the search space is huge. So, right now, the problem requires human expertise to make an educated guess of what a promising trajectory might be. – John Doty Dec 03 '23 at 22:44
  • @JohnDoty Just because there's no formula doesn't automatically make AI a good choice, density functional theory (DFT), computational fluid dynamics (CFD) and finite element analysis (FEA) are all used in similar situations and none of them use AI.

    If you can give me a good reason to use AI then I'll look into it but just because you can't solve the equation analytically doesn't make it a job for AI.

    – Pioneer_11 Dec 04 '23 at 02:03
  • The main problem isn't integrating the trajectory (although efficient trajectories tend to be sensitive to perturbations, both physical and numerical). The problem is deciding which trajectory to try. – John Doty Dec 04 '23 at 02:08
  • Udacity's "Differential Equations in Action" might be a good start. One of the first problems is computing a return trajectory for Apollo 13. https://www.udacity.com/course/differential-equations-in-action--cs222 – Greg Miller Dec 04 '23 at 05:43
  • The answer to this question will also depend on which kind of trajectories you are looking to optimise. For instance, are you using impulse chemical manoeuvres, or something low-thrust like solar electric propulsion? Similarly, do you consider flybys/gravity assist manoeuvres or direct transfers? Do you include the launch vehicle + trajectory in the optimisation loop? For this kind of project it might be helpful to think about these questions first or start simple and then introduce complexity as you go! – Armadillo Dec 04 '23 at 13:31
  • 1
    Since you are familiar with python, I recommend taking a look at some open source tools developed by the European Space Agency - pykep (https://esa.github.io/pykep/) and pygmo (https://esa.github.io/pygmo/). Here is a link to a publication introducing the two: https://www.esa.int/gsp/ACT/doc/MAD/pub/ACT-RPR-MAD-2012-(ICATT)PyKEP-PaGMO-SOCIS.pdf – Armadillo Dec 04 '23 at 13:33
  • My "go to" reference for this is "Optimal Control With Aerospace Applications" (Longuski, Guzman and Prussing). Their appendix C shows how to compute an optional low thrust LEO to GEO transfer using MATLAB and its boundary value solver. IIRC the appendix is available online for free. Some kind soul has converted some of this to SciPy https://github.com/nbelakovski/OptimalControlWithAerospaceApplications – nbodyphysics Dec 06 '23 at 15:55

0 Answers0