Started writing finally

This commit is contained in:
Connor
2021-12-16 21:33:05 -07:00
parent 0342c51914
commit 5d3c7e7928
3 changed files with 164 additions and 31 deletions

View File

@@ -4,34 +4,122 @@
\usepackage{mathtools}
\usepackage{geometry}
\usepackage{setspace}
\usepackage{changepage}
\usepackage{fontspec}
\usepackage{titlesec}
% \setmainfont{Adamina}
% \setmainfont{Alegreya}
\setmainfont[Scale=1.2]{Average}
\titleformat{\section}
{\bfseries\fontspec{Roboto}\LARGE}
{\thesection}
{0.5em}
{}
\titleformat{\subsection}
{\fontspec{Roboto}\Large}
{\thesubsection}
{0.5em}
{}
\titleformat{\subsubsection}
{\fontspec{Roboto}\large}
{\thesubsubsection}
{0.5em}
{}
\newcommand{\thesisTitle}{Designing Optimal Low-Thrust Interplanetary Trajectories Utilizing
Monotonic Basin Hopping}
\geometry{left=1in, right=1in, top=1in, bottom=1in}
\doublespacing
\begin{document}
\title{This Will Be The Title Page}
\author{Richard Connor Johnstone}
\title{\thesisTitle}
\author{Richard Connor Johnstone \\
B.S., University of Kentucky, 2016}
\maketitle
\vspace{3.5in}
\begin{adjustwidth}{100pt}{100pt}
\begin{center}
A thesis submitted to the Faculty of the Graduate School of the University of Colorado in
partial fulfillment of the requirements for the degree of Master of Science Department of
Aerospace Engineering Sciences \\ 2022
\end{center}
\end{adjustwidth}
\newpage
This will be the copyright page.
\newpage
This will be the signature page.
\begin{center}
This thesis entitled:
\thesisTitle
has been approved for the Department of Aerospace Engineering Sciences
\end{center}
\centerline{\begin{minipage}{4in}
\begin{center}
\vspace{1.5in}
\hrule
Dr. Natasha Bosanac
\vspace{1.5in}
\hrule
Dr. Daniel J. Scheeres
\vspace{1.5in}
\hrule
Dr. Kathryn Davis
\vspace{1.5in}
\end{center}
\end{minipage}}
\hspace{4.25in} Date: \hrulefill
The final copy of this thesis has been examined by the signatories, and we find that both the
content and the form meet acceptable presentation standards of scholarly work in the above
mentioned discipline.
\newpage
This will be the Acknowledgments.
%TODO: This should be better
Dedicated to some people.
\newpage
Richard Connor Johnstone
\thesisTitle
%TODO: Don't directly copy Bryce's formatting
Thesis directed by Dr. Natasha Bosanac
%TODO: This is just a quick abstract for now. Rewrite more towards the end.
\begin{abstract}
This will be the overview/summary/abstract page
There are a variety of approaches to finding and optimizing low-thrust trajectories in
interplanetary space. This thesis analyzes one such approach, Sims-Flanagan transcriptions, and
its applications in a multiple-shooting non-linear solver for the purpose of finding valid
low-thrust trajectory arcs between planets given poor initial conditions. These valid arcs are
then fed into a Monotonic Basin Hopping (MBH) algorithm, which combines these arcs in order to
find and optimize interplanetary trajectories, given a set of flyby planets. This allows for a
fairly rapid searching of a very large solution space of low-thrust profiles via a medium
fidelity inner-loop solver and a well-suited optimization routine. The trajectories found by
this method can then be optimized further by feeding the solutions back, once again, into the
non-linear solver, this time allowing the solver to perform optimization.
\end{abstract}
@@ -42,7 +130,16 @@
\newpage
\section{Introduction}
Provide some historical background, motivations, and discussion of the basic problems being investigated. Also a brief overview how the thesis will be laid out.
Continuous low-thrust arcs utilizing technologies such as Ion propulsion, Halls thrusters, and
others can be a powerful tool in the design of space missions. They tend to be particularly
suited to missions which require very high total $\Delta V$ values and take place over a
particularly long duration. As such, they are well-suited to interplanetary missions. For
instance, low thrust ion propulsion was used on the Bepi-Colombo, Dawn, and Deep Space 1
missions.
Provide some historical background, motivations, and discussion of the basic problems being
investigated. Also a brief overview how the thesis will be laid out.
\section{Trajectory Optimization}
This section will outline the foundational problem of trajectory optimization.
@@ -54,7 +151,8 @@
Detail Kepler's equations for astrodynamics.
\subsection{Analytical Solutions to Kepler's Equations}
Discuss how, since the 2BP is analytically solveable, there exists algorithms for solving these equations.
Discuss how, since the 2BP is analytically solveable, there exists algorithms for solving
these equations.
\subsubsection{LaGuerre-Conway Algorithm}
Step through the LaGuerre-Conway algorithm, as it's used in this implementation.
@@ -69,40 +167,50 @@
Discuss how the Newton Trust-Region method works.
\subsubsection{Linesearch Method}
I may take this section out, because I'm not currently using a linesearch. But I would cover the additions of linesearch methods.
I may take this section out, because I'm not currently using a linesearch. But I would cover
the additions of linesearch methods.
\section{Low-Thrust Considerations}
Highlight the differences between high and low-thrust mission profiles.
\subsection{Low Thrust Overview}
Dive deeper into the concept of low thrust trajectories, highlighting the added trouble with propagation/integration.
Dive deeper into the concept of low thrust trajectories, highlighting the added trouble with
propagation/integration.
\subsection{Sims-Flanagan Transcription}
Reveal the advantages of Sims-Flanagan transcription as an alternative to higher-fidelity propagation models. Be sure to mention its uses in many legitimate places.
Reveal the advantages of Sims-Flanagan transcription as an alternative to higher-fidelity
propagation models. Be sure to mention its uses in many legitimate places.
\section{Interplanetary Trajectory Considerations}
Highlight the problems with the 2BP in co-ordinating influences of extra bodies over an interplanetary journey.
Highlight the problems with the 2BP in co-ordinating influences of extra bodies over an
interplanetary journey.
\subsection{Patched Conics}
Describe the method of patched conics.
\subsection{Gravity Assist Maneuvers}
Describe how a gravity assist maneuver would work in the framework of patched conics. Also discuss the advantages of such a maneuver.
Describe how a gravity assist maneuver would work in the framework of patched conics. Also
discuss the advantages of such a maneuver.
\subsection{Multiple Gravity Assist Techniques}
Discuss the advantages of chaining together multiple gravity assists and highlight the difficulties in choosing these assists. Here I can mention porkchop plots, Lambert's problem, etc. Here I can also talk about Hybrid Optimal Control Problems.
Discuss the advantages of chaining together multiple gravity assists and highlight the
difficulties in choosing these assists. Here I can mention porkchop plots, Lambert's problem,
etc. Here I can also talk about Hybrid Optimal Control Problems.
\subsection{Ephemeris Considerations}
I can quickly mention SPICE here and talk a bit about validation.
\section{Genetic Algorithms}
I will probably give only a brief overview of genetic algorithms here. I don't personally know that much about them. Then in the following subsections I can discuss the parts that are relevant to the specific algorithm that I'm using.
I will probably give only a brief overview of genetic algorithms here. I don't personally know
that much about them. Then in the following subsections I can discuss the parts that are
relevant to the specific algorithm that I'm using.
\subsection{Decision Vectors}
Discuss what a decision vector is in the context of an optimization problem.
\subsection{Selection and Fitness Evaluation}
Discuss the costing being used as well as the different types of fitness evaluation that are common. Also discuss the concept of generations and ``survival''.
Discuss the costing being used as well as the different types of fitness evaluation that are
common. Also discuss the concept of generations and ``survival''.
\subsubsection{Tournament Selection}
Dive deeper into the specific selection algorithm being used here.
@@ -117,34 +225,48 @@
Discuss both the necessity for mutation and the mutation algorithm being used.
\section{Algorithm Overview}
Highlight the algorithm at a high-level. This is likely where flowcharts and diagrams will go to give a high-level overview.
Highlight the algorithm at a high-level. This is likely where flowcharts and diagrams will go to
give a high-level overview.
\subsection{Trajectory Composition}
Discuss briefly the nomenclature used in defining these trajectories. Currently this isn't ``baked in'' to the code, so I have some freedom to adopt Englander's notation or use my own (since my intended use case is a little simpler).
Discuss briefly the nomenclature used in defining these trajectories. Currently this isn't
``baked in'' to the code, so I have some freedom to adopt Englander's notation or use my own
(since my intended use case is a little simpler).
\subsection{Inner Loop Implementation}
Give a better overview of the inner loop specifically. Probably this section will have a more in-depth flowchart.
Give a better overview of the inner loop specifically. Probably this section will have a more
in-depth flowchart.
\subsubsection{LaGuerre-Conway Kepler Solver}
Discuss how the LaGuerre-Conway algorithm is used in the code to provide a fundamental ``natural trajectory'' between two quantized, but not necessarily close points. Mention validation.
Discuss how the LaGuerre-Conway algorithm is used in the code to provide a fundamental
``natural trajectory'' between two quantized, but not necessarily close points. Mention
validation.
\subsubsection{Sims-Flanagan Propagator}
Discuss how this algorithm can then be expanded by using SFT to propagate any number of low-thrust steps over a specific arc. Mention validation. Here I can also mention the ``Sc'' object and talk about how those parameters were chosen and effected the propagator.
Discuss how this algorithm can then be expanded by using SFT to propagate any number of
low-thrust steps over a specific arc. Mention validation. Here I can also mention the ``Sc''
object and talk about how those parameters were chosen and effected the propagator.
\subsubsection{Non-Linear Problem Solver}
Mention the package being used to solve NLPs and how it works, highlighting the trust region method used and error-handling. Mention validation.
Mention the package being used to solve NLPs and how it works, highlighting the trust region
method used and error-handling. Mention validation.
\subsubsection{Monotonic Basin Hopping}
Outline the MBH algorithm, going into detail at each step. Mention the long-tailed PDF being used and go into quite a bit of detail. Englander's paper on the MBH algorithm specifically should be a good guide. Mention validation.
Outline the MBH algorithm, going into detail at each step. Mention the long-tailed PDF being
used and go into quite a bit of detail. Englander's paper on the MBH algorithm specifically
should be a good guide. Mention validation.
\subsection{Outer Loop Implementation}
Overview the outer loop. This may require a final flowchart, but might potentially be too simple to lend itself to one.
Overview the outer loop. This may require a final flowchart, but might potentially be too
simple to lend itself to one.
\subsubsection{Inner Loop Calling Function}
The primary reason for including this section is to discuss the error handling.
\subsubsection{Genetic Algorithm Description}
Similar to the MBH section, there are a lot of implementation details to go over here. Many will have already been discussed in the background sections above. But I can step through each of the decisions, similar to Englander's paper on this.
Similar to the MBH section, there are a lot of implementation details to go over here. Many
will have already been discussed in the background sections above. But I can step through
each of the decisions, similar to Englander's paper on this.
\section{Results Analysis}
Simply highlight that the algorithm was tested on a sample trajectory to Saturn.
@@ -153,23 +275,28 @@
Give an overview of the trajectory that was ultimately chosen.
\subsubsection{Comparison to Less Optimal Solutions}
I should have a number of elite but less-optimal solutions. Honestly, I may write the algorithm to keep all of the solutions to provide many points of comparison here.
I should have a number of elite but less-optimal solutions. Honestly, I may write the
algorithm to keep all of the solutions to provide many points of comparison here.
\subsubsection{Cost Function Analysis}
Give some real-world context for the mass-use, time-of-flight, etc.
\subsubsection{Comparison to Impulsive Trajectories}
I may also remove this section. I could do a quick comparison (using porkchop plots) to similar impulsive trajectories. Honestly, this is a lot of work for very little gain, though, so probably the first place to chop if needed.
I may also remove this section. I could do a quick comparison (using porkchop plots) to
similar impulsive trajectories. Honestly, this is a lot of work for very little gain,
though, so probably the first place to chop if needed.
\section{Conclusion}
\subsection{Overview of Results}
Quick re-wording of the previous section in a paragraph or two for reader's convenience.
\subsection{Applications of Algorithm}
Talk a bit about why this work is valuable. Missions that could have benefited, missions that this enables, etc.
Talk a bit about why this work is valuable. Missions that could have benefited, missions that
this enables, etc.
\subsection{Recommendations for Future Work}
Recommend future work, obviously. There are a \emph{ton} of opportunities for improvement including parallelization, cluster computing, etc.
Recommend future work, obviously. There are a \emph{ton} of opportunities for improvement
including parallelization, cluster computing, etc.
% \bibliography{biblio}{}
% \bibliographystyle{plain}

View File

@@ -18,12 +18,18 @@ $(NOTES_PDFS): $(NOTES)
-f markdown $< \
-o $@
$(THESIS_PDF): $(THESIS)
thesis_pdf/:
mkdir $@
$(THESIS_PDF): $(THESIS) thesis_pdf/
xelatex $<
rm thesis.aux thesis.log thesis.toc
xelatex $<
mv thesis.* thesis_pdf/
cp thesis_pdf/thesis.pdf .
.PHONY: clean
clean:
rm -rf $(THESIS_PDF)
rm -rf $(NOTES_PDFS)
rm -rf thesis_pdf

View File

@@ -55,7 +55,7 @@ end
log(_::Nothing, _::Vector{Mission}, _::Vector{Body}) = println("No Mission Found...")
planets = [Earth, Venus, Mars, Saturn]
planets = [Earth, Venus, Venus Jupiter, Saturn]
best, archive = mbh(planets)
log(best, archive, planets)