Files
thesis/LaTeX/thesis.tex
2021-12-16 21:33:05 -07:00

305 lines
11 KiB
TeX

\documentclass{article}
\usepackage{graphicx}
\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{\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
\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
%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}
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}
\newpage
\tableofcontents
\newpage
\section{Introduction}
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.
\subsection{The Two-Body Problem}
Propose the two-body problem as a differential equation.
\subsubsection{Kepler's Equations}
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.
\subsubsection{LaGuerre-Conway Algorithm}
Step through the LaGuerre-Conway algorithm, as it's used in this implementation.
\subsection{Non-Linear Problem Optimization}
Discuss the concept of a non-linear problem as it related to the study of optimization.
\subsubsection{Non-Linear Solvers}
Mention common non-linear solvers (Ipopt, SNOPT, etc.).
\subsubsection{Newton Trust-Region Method}
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.
\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.
\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.
\section{Interplanetary Trajectory Considerations}
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.
\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.
\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.
\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''.
\subsubsection{Tournament Selection}
Dive deeper into the specific selection algorithm being used here.
\subsection{Crossover}
Discuss the concept of crossover and procreation in a genetic algorithm.
\subsubsection{Binary Crossover}
Discuss specific crossover algorithm used here.
\subsubsection{Mutation}
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.
\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).
\subsection{Inner Loop Implementation}
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.
\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.
\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.
\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.
\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.
\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.
\section{Results Analysis}
Simply highlight that the algorithm was tested on a sample trajectory to Saturn.
\subsection{Sample Trajectory to Saturn}
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.
\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.
\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.
\subsection{Recommendations for Future Work}
Recommend future work, obviously. There are a \emph{ton} of opportunities for improvement
including parallelization, cluster computing, etc.
% \bibliography{biblio}{}
% \bibliographystyle{plain}
\end{document}