Added initial notes
This commit is contained in:
102
prelim_notes/paper_notes.md
Normal file
102
prelim_notes/paper_notes.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# Notes on Research Papers
|
||||
|
||||
## Neural Networks in Time-Optimal Low-Thrust Interplanetary Transfers
|
||||
|
||||
- For the most part this paper isn't *that* relevant.
|
||||
- It seems to be a low-fidelity method, or at least, it's fidelity is kind of hard to pin down,
|
||||
since it uses a neural net.
|
||||
- However, the neural net is an interesting concept.
|
||||
- And in fact, this paper advocates for a concept of using the neural net as a predictor. So, say,
|
||||
given a leg of a particular journey, as in the Englander paper, could I use this technique rather
|
||||
than Sims-Flanagan transcription in the outer loop?
|
||||
- Something to consider as an alternative to the method proposed in Englander
|
||||
- Could also be used to generate initial guesses for the single-shooting methods that I'll have to
|
||||
use if I use an indirect optimization method.
|
||||
|
||||
## Design and optimization of interplanetary low-thrust trajectory with planetary aerogravity-assist maneuver
|
||||
|
||||
- I didn't realize that this paper is specifically talking about *aero*gravity assists. I don't
|
||||
think that level of complication is necessary for this paper. I'm going to stick with gravity
|
||||
assists that don't get into atmospheric effects.
|
||||
|
||||
## Orbital and Angular Motion Construction for Low Thrust Interplanetary Flight
|
||||
|
||||
- This one actually isn't even about optimization. Not relevant
|
||||
- To be honest, I don't actually understand it very well anyway
|
||||
|
||||
## A Rapid Estimation for Interplanetary Low-Thrust Trajectories Using Support Vector Regression
|
||||
|
||||
- This is another machine-learning approach
|
||||
- It uses a different approach that I'm not that familiar with (Support Vector Regression)
|
||||
- It looks like this is a form of regression similar to linear regression, I suppose being used
|
||||
by the machine learning algorithm for predicting optimal trajectories
|
||||
- However, it seems like everything that applies in the neural net paper probably apply here as well
|
||||
- This could be an alternative for predicting optimal trajectories over certain legs of the journey
|
||||
|
||||
## Automated Solution of the Low-Thrust Interplanetary Trajectory Problem
|
||||
|
||||
- This is the Englander paper I mentioned earlier. It seems highly relevant as they're essentially
|
||||
doing what I'd like to do: producing an automated method for high-level interplanetary low-thrust
|
||||
mission design including the flybys.
|
||||
- I need to look up MALTO and GALLOP (established tools that do this)
|
||||
- This paper also open sources it's code: available [here](https://opensource.gsfc.nasa.gov/projects/emtg/index.php)
|
||||
- This paper formulates the problem as a *Hybrid Optimal Control Problem*. This requires some
|
||||
further research by me, but from the paper it seems to be a way of optimizing two seperables
|
||||
subproblems where one of the subproblems exists as a sub-loop of the other problem (for instance
|
||||
optimizing flybys in a high-level loop and particular planet-to-planet trajectories as a sub-loop of
|
||||
that problem). This apparently works because the "outer-loop" uses discrete variables while the
|
||||
"inner-loop" uses continuous variables.
|
||||
- The outer loop is based on the "null-gene" transciption from another Englander paper and uses a
|
||||
genetic algorithm.
|
||||
- I'm not going to go too deep here into the details of the GA. But there's an entire paper on
|
||||
it
|
||||
- The paper does mention that it lends itself well to parallelization, which is true. Kubernetes
|
||||
cluster?
|
||||
- The inner loop uses Sim-Flanagan transcription combined with Monotonic Basin Hopping, a method for
|
||||
single-shooting without initial guesses
|
||||
- Sims-Flanagan transcription is where you discretize the flight arc into many smaller time
|
||||
steps and the thrust applied is approximated as an impulsive thrust in the middle of each time
|
||||
step.
|
||||
- SFT is considered to be a "medium-fidelity" approach
|
||||
- For this solver, the trajectory betweens these points is produced as a solution to Kepler's
|
||||
problem, which is basically just the analytical solution to the 2BP, so that no derivatives or
|
||||
orbit-propagation is needed, for speed.
|
||||
- One thing I noted about this approach is that it doesn't seem to include a possibility for
|
||||
"coasting arcs" or throttling anything less than 100% (though the modeling of what 100% means is
|
||||
quite thorough), so perhaps we're missing some fidelity there?
|
||||
- I think SNOPT is used to optimize these "inner-loops". This should be pretty fast since it
|
||||
just uses Kepler's eq
|
||||
- The MBH method eliminates the need to solve Lambert's problem for initial guesses. This allows
|
||||
for a more robust analysis of the search base (if there are global optima further from the local
|
||||
optima near lambert's solution) but might be slower? I'm not sure.
|
||||
- The technique is kind of weird, but I suppose it works.
|
||||
- This paper uses a hierarchy of events starting with the overall *mission*, which separates into
|
||||
*journies*, which, in the example I'm pursuing will be Earth -> Neptune and Neptune -> Earth (if
|
||||
applicable, but probably just the first one). Then these journies are further divided into
|
||||
*phases*, which include each planet -> planet leg. The number of phases and the identities of the
|
||||
planets are chosen by the algorithm.
|
||||
- The paper goes into some length to determine what the launch C3, propulsion, power, and ephemeris
|
||||
modeling are. This is all very useful, but as far as I can tell it's pretty typical, so I won't note
|
||||
too much about it.
|
||||
- However, it does mention that SPICE presented some challenges for using a preferable method of
|
||||
parallelization. As an alternative, the paper mentions that FIRE could be used instead for
|
||||
ephemeris. Which might be worth looking into.
|
||||
- The paper also include pseudocode, which is nice
|
||||
|
||||
## Automated Mission Planning via Evolutionary Algorithms
|
||||
|
||||
- This is another Englander paper that gives more details on the outer-loop GA. Useful for details.
|
||||
|
||||
## Multi-Objective Low-Thrust Interplanetary Trajectory Optimization Based on Generalized Logarithmic Spirals
|
||||
|
||||
- This is the first paper I looked at. It's actually quite similar to the Englander paper, but I
|
||||
think not quite as good
|
||||
- Again, it formulates the problem as an HOCP.
|
||||
- However, the "inner-loop" for this problem is an optimization of generalized logarithmic spirals.
|
||||
I don't think this is a very high fidelity method.
|
||||
- The outer step uses collocation and an NLP optimizer (looks like it actually might just feed the
|
||||
guesses into GALLOP, which I assume uses SNOPT, though, to be honest, I can't find much on it from
|
||||
a quick search)
|
||||
- I'm leaning toward Englander's approach over this one, perhaps with an alternative being to use
|
||||
one of the machine-learning approaches from above for the inner loop instead
|
||||
|
||||
26
prelim_notes/plan.md
Normal file
26
prelim_notes/plan.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Plan After Literature Review
|
||||
|
||||
After reading the papers in the Google Drive (see `paper_notes.md`) I've come up with the following
|
||||
plan:
|
||||
|
||||
I think that I'd like to follow an approach similar to what I saw in Englander and Morante. However,
|
||||
I think it makes more sense to follow the Englander approach for the specific optimizers being used
|
||||
in the inner and outer loops. Specifically this means:
|
||||
|
||||
- Set up the problem as a Hybrid Optimal Control Problem (HOCP) with an inner and an outer loop
|
||||
- The outer loop will determine the number and identities of the flybys and optimize using a Binary
|
||||
Genetic Algorithm described by Englander
|
||||
- The inner loop in Englander uses Sims-Flanagan Transcription optimized using monotonic basin
|
||||
hopping. This seems like a good approach. I'd like to use this approach, but also consider using,
|
||||
as an alternative method for comparison, one of the machine-learning algorithms from the other
|
||||
papers.
|
||||
- There are a number of other details including modeling launch C3, power, thrust, and ephemeris.
|
||||
For all of these I'll use either the exact approach from Englander or a similar approach. There
|
||||
exists an option to use alternatives to SPICE for ephemeris, but I think the parallelization
|
||||
problems that SPICE poses can be solved in other ways.
|
||||
- Specifically, I'd like to build this program using a micro-service architecture. This could
|
||||
allow for deployment using Kubernetes clusters. This will handle the parallelization (by
|
||||
running multiple inner loop micro-services at once) and allow for simpler use in production
|
||||
environments if that's ever needed, as kubernetes has a robust integration with most
|
||||
web-hosting services. This also allows for flexible scalability if improved speed is ever
|
||||
needed.
|
||||
@@ -1 +1,8 @@
|
||||
# Thesis Repository
|
||||
|
||||
This will be a repository for my code while I work on my thesis. The general idea is to generate a
|
||||
method for automatically producing optimal low-thrust trajectories (including optimizations of the
|
||||
planetary flybys) for a sample mission to Neptune.
|
||||
|
||||
For now, it will just be a location for storing my notes as I come up with a plan. I will update
|
||||
this readme as I flush out the plan a little better and then as I begin producing code.
|
||||
|
||||
Reference in New Issue
Block a user