First draft of presentation
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 72 KiB |
BIN
LaTeX/fig/EMJS_thrust_components_vnb.png
Normal file
|
After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 64 KiB |
BIN
LaTeX/fig/EMS_thrust_components_vnb.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
LaTeX/fig/bepicolombo.png
Normal file
|
After Width: | Height: | Size: 206 KiB |
BIN
LaTeX/fig/cassini.png
Normal file
|
After Width: | Height: | Size: 173 KiB |
BIN
LaTeX/fig/thrust_angle.png
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
226
LaTeX/fig/thrust_angle.svg
Normal file
@@ -0,0 +1,226 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="210mm"
|
||||
height="297mm"
|
||||
viewBox="0 0 210 297"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
|
||||
sodipodi:docname="thrust_angle.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
showborder="false"
|
||||
inkscape:snap-object-midpoints="true"
|
||||
inkscape:zoom="3.0823513"
|
||||
inkscape:cx="270.08602"
|
||||
inkscape:cy="226.28829"
|
||||
inkscape:window-width="1912"
|
||||
inkscape:window-height="1040"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="32"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="marker2450"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.4) rotate(180) translate(10,0)"
|
||||
style="fill-rule:evenodd;fill:context-stroke;stroke:context-stroke;stroke-width:1.0pt;"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path2448" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Mstart"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.4) translate(10,0)"
|
||||
style="fill-rule:evenodd;fill:context-stroke;stroke:context-stroke;stroke-width:1.0pt"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path1415" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="Arrow1Mend"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.4) rotate(180) translate(10,0)"
|
||||
style="fill-rule:evenodd;fill:context-stroke;stroke:context-stroke;stroke-width:1.0pt;"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path1418" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible;"
|
||||
id="Arrow1Lend"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)"
|
||||
style="fill-rule:evenodd;fill:context-stroke;stroke:context-stroke;stroke-width:1.0pt;"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path1412" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<circle
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.520999;stroke-linecap:round"
|
||||
id="path846"
|
||||
cx="78.636162"
|
||||
cy="86.182404"
|
||||
r="1.0282457" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker2450)"
|
||||
d="M 78.636161,86.182403 V 35.76552"
|
||||
id="path2163" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker2450)"
|
||||
d="M 78.636161,86.182403 103.24016,61.578407"
|
||||
id="path2278" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker2450)"
|
||||
d="M 78.636161,86.182403 34.533318,74.365082"
|
||||
id="path2280" />
|
||||
<path
|
||||
style="fill:none;stroke:#ff0000;stroke-width:0.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2450)"
|
||||
d="M 78.636161,86.182403 55.079978,43.543193"
|
||||
id="path2282"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#ff0000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.3,0.3;stroke-dashoffset:0"
|
||||
d="M 78.636161,86.182403 54.721836,70.081134"
|
||||
id="path2286" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 56.141209,80.228846 c 0,0 -2.270866,-5.042291 7.398176,-4.194047"
|
||||
id="path2545" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 63.539385,76.034799 c 0,0 -2.85624,-7.976354 4.024622,-9.938026"
|
||||
id="path2660" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 61.134738,74.440568 c 0,0 -2.576589,-7.072128 5.405424,-10.345661"
|
||||
id="path2662" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:sans-serif;stroke-width:0.264583"
|
||||
x="105.1789"
|
||||
y="59.616859"
|
||||
id="text5950"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5948"
|
||||
style="stroke-width:0.264583"
|
||||
x="105.1789"
|
||||
y="59.616859">r</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:sans-serif;stroke-width:0.264583"
|
||||
x="77.378998"
|
||||
y="33.542519"
|
||||
id="text8960"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan8958"
|
||||
style="stroke-width:0.264583"
|
||||
x="77.378998"
|
||||
y="33.542519">h</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:sans-serif;stroke-width:0.264583"
|
||||
x="29.955662"
|
||||
y="74.996872"
|
||||
id="text12198"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan12196"
|
||||
style="stroke-width:0.264583"
|
||||
x="29.955662"
|
||||
y="74.996872">θ</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:sans-serif;stroke-width:0.264583"
|
||||
x="53.598591"
|
||||
y="76.51889"
|
||||
id="text32530"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan32528"
|
||||
style="stroke-width:0.264583"
|
||||
x="53.598591"
|
||||
y="76.51889">α</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:sans-serif;stroke-width:0.264583"
|
||||
x="58.892441"
|
||||
y="66.168266"
|
||||
id="text38018"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan38016"
|
||||
style="stroke-width:0.264583"
|
||||
x="58.892441"
|
||||
y="66.168266">β</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 105.21678,56.69539 0.92033,-1.115951 0.86649,1.056716"
|
||||
id="path40461" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 77.795012,29.236892 0.92033,-1.115951 0.86649,1.056716"
|
||||
id="path40461-6" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 30.254464,70.925813 0.92033,-1.115951 0.86649,1.056716"
|
||||
id="path40461-7" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:4.23333px;line-height:1.25;font-family:sans-serif;stroke-width:0.264583"
|
||||
x="51.783405"
|
||||
y="40.3876"
|
||||
id="text44510"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan44508"
|
||||
style="stroke-width:0.264583"
|
||||
x="51.783405"
|
||||
y="40.3876">F</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 51.599761,36.292107 H 54.15286 L 53.502877,35.310574"
|
||||
id="path47813" />
|
||||
<path
|
||||
style="fill:none;stroke:#ff0000;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.3,0.3;stroke-dashoffset:0"
|
||||
d="m 54.721836,70.081134 0.03089,-27.183389"
|
||||
id="path47928" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.6 KiB |
BIN
LaTeX/fig/voyager.jpg
Normal file
|
After Width: | Height: | Size: 39 KiB |
25
LaTeX/presentation.bib
Normal file
@@ -0,0 +1,25 @@
|
||||
@misc{nasa_voyager,
|
||||
title={Voyager - Mission Overview},
|
||||
url={https://voyager.jpl.nasa.gov/mission/},
|
||||
journal={NASA},
|
||||
publisher={NASA}
|
||||
}
|
||||
|
||||
@phdthesis{dhanasarCassini,
|
||||
author = {Dhanasar, Mookesh},
|
||||
year = {2005},
|
||||
month = {12},
|
||||
pages = {},
|
||||
title = {A METHOD FOR THE DESIGN AND ANALYSIS OF DEEP SPACE NUCLEAR PROPULSION SYSTEMS}
|
||||
}
|
||||
|
||||
@article{jehnBepi,
|
||||
author = {Jehn, Rüdiger and García Yárnoz, Daniel and Schoenmaekers, Johannes and Companys, Vicente},
|
||||
year = {2012},
|
||||
month = {01},
|
||||
pages = {1-9},
|
||||
title = {Trajectory Design for BepiColombo Based on Navigation Requirements},
|
||||
volume = {4},
|
||||
journal = {Journal of Aerospace Engineering, Sciences and Applications},
|
||||
doi = {10.7446/jaesa.0401.01}
|
||||
}
|
||||
@@ -1,25 +1,26 @@
|
||||
\documentclass{beamer}
|
||||
\usetheme{Luebeck}
|
||||
\usetheme{Antibes}
|
||||
|
||||
\usepackage{xfrac}
|
||||
|
||||
\definecolor{color1}{HTML}{3A4040}
|
||||
\definecolor{color2}{HTML}{F5F2F8}
|
||||
\definecolor{color3}{HTML}{B65D4E}
|
||||
\definecolor{color3}{HTML}{C47B6E}
|
||||
\definecolor{color4}{HTML}{B6AD96}
|
||||
\definecolor{color5}{HTML}{A96041}
|
||||
\definecolor{color5}{HTML}{B65D4E}
|
||||
|
||||
\setbeamercolor*{structure}{bg=color3,fg=color3}
|
||||
\setbeamercolor*{palette primary}{fg=color1,bg=color4}
|
||||
\setbeamercolor*{palette secondary}{fg=color1,bg=color2}
|
||||
\setbeamercolor*{palette tertiary}{fg=color1,bg=color2}
|
||||
\setbeamercolor*{palette quaternary}{fg=color1,bg=color3}
|
||||
\setbeamercolor*{palette secondary}{fg=color1,bg=color4}
|
||||
\setbeamercolor*{palette tertiary}{fg=color1,bg=color3}
|
||||
\setbeamercolor*{palette quaternary}{fg=color1,bg=color5}
|
||||
\setbeamercolor{alerted text}{fg=color1,bg=color3}
|
||||
\setbeamercolor{titlelike}{bg=color2,fg=color1}
|
||||
\setbeamercolor*{titlelike}{bg=color2,fg=color1}
|
||||
\setbeamercolor{frametitle}{bg=color1,fg=color2}
|
||||
\setbeamercolor{background canvas}{bg=color2,fg=color2}
|
||||
|
||||
\title{Designing Optimal Low-Thrust Interplanetary Trajectories}
|
||||
\subtitle{Utilizing Monotonic Basin Hopping}
|
||||
\title{Designing Optimal Low-Thrust Interplanetary Trajectories Utilizing Monotonic Basin Hopping}
|
||||
\author{Richard Connor Johnstone}
|
||||
\institute{University of Colorado -- Boulder}
|
||||
\date{\today}
|
||||
@@ -32,19 +33,589 @@
|
||||
|
||||
\section{Introduction}
|
||||
|
||||
\begin{frame} \frametitle{First Frame}
|
||||
\begin{itemize}
|
||||
\item Item 1
|
||||
\item Item 2
|
||||
\end{itemize}
|
||||
\subsection{Motivation}
|
||||
|
||||
\begin{frame} \frametitle{Motivation}
|
||||
How can we leverage existing technologies and techniques to determine
|
||||
optimally-controlled trajectories to targets in interplanetary space?
|
||||
\end{frame}
|
||||
|
||||
\note{Today I'll be discussing my research in determining optimal trajectories
|
||||
for interplanetary mission objectives. Numerous scientific and engineering advances have
|
||||
been made possible by the recognition of optimal trajectories in interplanetary space.}
|
||||
|
||||
\begin{frame} \frametitle{Voyager}
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[height=0.6\paperheight]{LaTeX/fig/voyager}
|
||||
\caption{Voyager mission trajectory\cite{nasa_voyager}}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\note{For instance, the Voyagers I and II missions were launched in 1977 because of a
|
||||
once-in-a-lifetime window in which the spacecraft were able to, on a single tour, visit all
|
||||
four gas giant outer planets. These tours were only made possible because of the ability to
|
||||
compute planetary ephemeris and map out a chain of gravity assists.}
|
||||
|
||||
\begin{frame} \frametitle{Bepi-Colombo}
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[height=0.6\paperheight]{LaTeX/fig/bepicolombo}
|
||||
\caption{Bepi-Colombo mission trajectory\cite{jehnBepi}}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\note{More recently, ESA has also been able to take advantage of gravity assists to send the
|
||||
spacecraft Bepi-Colombo into a trajectory that rendezvous 6 times with Mercury. While this
|
||||
mission did utilize a number of gravity assists, it also utilized another technology
|
||||
well-suited to interplanetary travel: low-thrust electric propulsion systems}
|
||||
|
||||
\subsection{Context}
|
||||
|
||||
\begin{frame} \frametitle{Low Thrust Electric Propulsion}
|
||||
Allows for some advantages in achieving more interesting mission objectives:
|
||||
\begin{itemize}
|
||||
\item Much higher thrusting efficiency (in terms of fuel usage) compared to high
|
||||
thrust propulsive systems
|
||||
\item Allows for a greater overall $\Delta V$ budget for a given mission
|
||||
\end{itemize}
|
||||
|
||||
\pause
|
||||
But requires some additional considerations:
|
||||
\begin{itemize}
|
||||
\item Requires significantly more time to achieve the same velocity change
|
||||
\item Defines a new system dynamics control, which must be accounted for
|
||||
continuously at each point in time, requiring additional computation for
|
||||
optimization
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\note{Thanks to their ability to provide thrust extremely efficiently, these low-thrust
|
||||
engines can be a powerful tool for enabling impressive scientific objectives, but they do
|
||||
provide an additional layer of complexity for the mission designer, as their continuous
|
||||
thrust nature changes the underlying system dynamics that would have been used to optimize a
|
||||
mission such as Voyager, which did not employ low-thrust engines.}
|
||||
|
||||
% \begin{frame} \frametitle{Current tools}
|
||||
% Indirect Methods:
|
||||
% \begin{itemize}
|
||||
% \item CHEBYTOP
|
||||
% \item NEWSEP
|
||||
% \item SEPTOP
|
||||
% \item VARITOP
|
||||
% \end{itemize}
|
||||
|
||||
% Direct Methods:
|
||||
% \begin{itemize}
|
||||
% \item EMTG
|
||||
% \item GALLOP
|
||||
% \item MALTO
|
||||
% \item PAGMO
|
||||
% \end{itemize}
|
||||
% \end{frame}
|
||||
|
||||
% \note{However, many interesting techniques have been developed to combat this issue,
|
||||
% particularly in recent years. A number of different algorithms have been developed }
|
||||
|
||||
% \subsection{Scope}
|
||||
|
||||
% \begin{frame} \frametitle{First Frame}
|
||||
% \begin{itemize}
|
||||
% \item Item 1
|
||||
% \item Item 2
|
||||
% \end{itemize}
|
||||
% \end{frame}
|
||||
|
||||
% \subsection{Problem Statement}
|
||||
|
||||
% \begin{frame} \frametitle{First Frame}
|
||||
% \begin{itemize}
|
||||
% \item Item 1
|
||||
% \item Item 2
|
||||
% \end{itemize}
|
||||
% \end{frame}
|
||||
|
||||
\section{Trajectory Optimization Background}
|
||||
|
||||
\subsection{System Dynamics}
|
||||
|
||||
\begin{frame} \frametitle{Two Body Problem}
|
||||
\begin{columns}
|
||||
\begin{column}{0.45\paperwidth}
|
||||
Assumptions:
|
||||
\begin{itemize}
|
||||
\item There are only two bodies in the system
|
||||
\item The only force acting between the two bodies is gravitational
|
||||
\item The two masses are to be modeled as constant point masses
|
||||
\end{itemize}
|
||||
\end{column}
|
||||
\begin{column}{0.45\paperwidth}
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[width=0.45\paperwidth]{LaTeX/fig/2bp}
|
||||
\end{figure}
|
||||
\end{column}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
|
||||
\note{In order to understand how to optimize these trajectories, we'll first have to
|
||||
understand the underlying system dynamics. I won't spend too long on this, as most of you
|
||||
should have a good grasp on spacecraft dynamics, but we'll briefly analyse the most basic
|
||||
model for spaceflight dynamics: the two body problem. This model requires us to make a
|
||||
couple of basic assumptions. First that we are only concerned with the gravitational
|
||||
influence between the nominative two bodies: the spacecraft and the planetary body around
|
||||
which it is orbiting. Secondly, both of these bodies are modeled as point masses with
|
||||
constant mass. This removes the need to account for non-uniform densities and asymmetry.}
|
||||
|
||||
\begin{frame} \frametitle{Two Body Problem}
|
||||
\begin{columns}
|
||||
\begin{column}{0.45\paperwidth}
|
||||
\begin{align*}
|
||||
m_2 \ddot{\vec{r}}_2 &= - \frac{G m_1 m_2}{r^2} \frac{\vec{r}}{\left| r \right|} \\
|
||||
m_1 \ddot{\vec{r}}_1 &= \frac{G m_2 m_1}{r^2} \frac{\vec{r}}{\left| r \right|}
|
||||
\end{align*}
|
||||
\end{column}
|
||||
\begin{column}{0.45\paperwidth}
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[width=0.45\paperwidth]{LaTeX/fig/2bp}
|
||||
\end{figure}
|
||||
\end{column}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
|
||||
\note{From Newton's second law and the law of universal gravitation, we can then model this
|
||||
force with this equation. Where...}
|
||||
|
||||
\begin{frame} \frametitle{Two Body Problem}
|
||||
\begin{columns}
|
||||
\begin{column}{0.45\paperwidth}
|
||||
\begin{equation*}
|
||||
\ddot{\vec{r}} = \ddot{\vec{r}}_2 - \ddot{\vec{r}}_1 =
|
||||
- \frac{G \left( m_1 + m_2 \right)}{r^2} \frac{\vec{r}}{\left| r \right|}
|
||||
\end{equation*}
|
||||
\end{column}
|
||||
\begin{column}{0.45\paperwidth}
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[width=0.45\paperwidth]{LaTeX/fig/2bp}
|
||||
\end{figure}
|
||||
\end{column}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
|
||||
\note{Dividing by the mass, we can derive the acceleration...}
|
||||
|
||||
\begin{frame} \frametitle{Two Body Problem}
|
||||
\begin{columns}
|
||||
\begin{column}{0.45\paperwidth}
|
||||
\begin{align*}
|
||||
\mu &= G (m_1 + m_2) \approx G m_1 \\
|
||||
\ddot{\vec{r}} &= - \frac{\mu}{r^2} \hat{r}
|
||||
\end{align*}
|
||||
\end{column}
|
||||
\begin{column}{0.45\paperwidth}
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[width=0.45\paperwidth]{LaTeX/fig/2bp}
|
||||
\end{figure}
|
||||
\end{column}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
|
||||
\note{Finally, we'll make the assumption that the mass of the spacecraft, is significantly
|
||||
smaller than the mass of the planet. This allows us to represents the gravitational
|
||||
parameter as a function of the planetary mass alone, rather than both combined. With this
|
||||
assumption, we can model the system dynamics with this analytically solvable equation}
|
||||
|
||||
\begin{frame} \frametitle{Kepler's Laws}
|
||||
\begin{itemize}
|
||||
\item Each planet's orbit is an ellipse with the Sun at one of the foci.
|
||||
\item The area swept out by the imaginary line connecting the primary and secondary
|
||||
bodies increases linearly with respect to time.
|
||||
\item The square of the orbital period is proportional to the cube of the semi-major
|
||||
axis of the orbit, regardless of eccentricity.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\note{In the early 1600s, Johannes Kepler determined three laws in order to describe the
|
||||
motion of a satellite. These are:}
|
||||
|
||||
\begin{frame} \frametitle{Kepler's Laws}
|
||||
\begin{equation*}
|
||||
r = \frac{\sfrac{h^2}{\mu}}{1 + e \cos(\theta)}
|
||||
\end{equation*}
|
||||
|
||||
\vspace{1em}
|
||||
|
||||
\begin{equation*}
|
||||
\frac{\Delta t}{T} = \frac{E - e \sin E}{2 \pi}
|
||||
\end{equation*}
|
||||
|
||||
\vspace{1em}
|
||||
|
||||
\begin{equation*}
|
||||
T = 2 \pi \sqrt{\frac{a^3}{\mu}}
|
||||
\end{equation*}
|
||||
\end{frame}
|
||||
|
||||
\note{By utilizing these laws and some geometric properties of conic sections, we can
|
||||
actually take them a step further, producing the following extremely useful equations for
|
||||
representing spacecraft motion:}
|
||||
|
||||
\begin{frame} \frametitle{Kepler's Equation}
|
||||
\begin{equation*}
|
||||
\frac{\Delta t}{T} = \frac{E - e \sin E}{2 \pi}
|
||||
\end{equation*}
|
||||
|
||||
\vspace{1em}
|
||||
|
||||
\begin{equation*}
|
||||
T = 2 \pi \sqrt{\frac{a^3}{\mu}}
|
||||
\end{equation*}
|
||||
|
||||
\vspace{1em}
|
||||
|
||||
\begin{equation*}
|
||||
M = \sqrt{\frac{\mu}{a^3}} \Delta t = E - e \sin E
|
||||
\end{equation*}
|
||||
\end{frame}
|
||||
|
||||
\note{The second of these, which we'll take particular notice of, is considered Kepler's
|
||||
equation. It provides a method for relating the time since periapsis of a satellite in an
|
||||
orbit to the satellite's position along that orbit. The solution to this equatin can then be
|
||||
used to solve for a spacecraft's position, which is very useful for direct optimization
|
||||
methods.}
|
||||
|
||||
% \note{Finally, though, we'll need to actually solve Kepler's equation. For this purpose
|
||||
% we'll use a generic root-finding method first proposed by Laguerre in the 19th century.
|
||||
% Conway first explored its application on Kepler's equation in the 1980s and found it to be
|
||||
% more robust at converging to a solution, with similar convergence speed, to the more common
|
||||
% variations of the Newton-Raphson method}
|
||||
|
||||
\subsection{Interplanetary Trajectories}
|
||||
|
||||
\begin{frame} \frametitle{Patched Conics}
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[height=0.7\paperheight]{LaTeX/fig/patched_conics}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\note{Now that we have a grasp on the underlying system dynamics, we can consider the
|
||||
additions needed for interplanetary travel specifically. To this end, we'll consider the
|
||||
method of patched conics, a technique for reconciling the fact that the spacecraft will not
|
||||
be under the influence of a single body, but actually a number of different bodies over the
|
||||
course of its trajectory. To achieve this, we'll break the trajectory up into different
|
||||
sub-trajectories, each governed by a distinct single body when the spacecraft is within the
|
||||
sphere of influence of that particular body...}
|
||||
|
||||
\begin{frame} \frametitle{Gravity Assist}
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[height=0.7\paperheight]{LaTeX/fig/flyby}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\note{You'll notice, though, that the trajectories within the sphere of influence aren't
|
||||
elliptical orbits. They're hyperbolic. Because of this fact, we can take advantage of the
|
||||
gravity flyby effect. Because of the nature of the hyperbolic arc the spacecraft takes
|
||||
around the planet, the spacecraft leaves in a different direction than it arrives. This
|
||||
effect can be targeted up to a point, and a free "maneuver" can be achieved, changing the
|
||||
direction of the spacecraft's motion relative to the Sun.}
|
||||
|
||||
\subsection{Low Thrust Trajectories}
|
||||
|
||||
\begin{frame} \frametitle{Sims-Flanagan Transcription}
|
||||
\begin{columns}
|
||||
\begin{column}{0.45\paperwidth}
|
||||
\begin{itemize}
|
||||
\item Each trajectory broken into $n$ segments
|
||||
\item Impulsive thrust at the center of each one, assuming equal thrust
|
||||
over the segment
|
||||
\item Mass decremented over the duration of the segment
|
||||
\end{itemize}
|
||||
\end{column}
|
||||
\begin{column}{0.45\paperwidth}
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[width=0.45\paperwidth]{LaTeX/fig/sft}
|
||||
\end{figure}
|
||||
\end{column}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
|
||||
\note{We'll also need to discretize the low-thrust controls in order to apply a direct
|
||||
optimization. This is achieved, in this thesis and many other implementations, with the
|
||||
Sims-Flanagan transcription. The trajectory is broken up into a number of smaller
|
||||
trajectories with a single impulsive thrust in the center of each. Effectively, this
|
||||
allows...}
|
||||
|
||||
\begin{frame} \frametitle{Control Vector Description}
|
||||
\begin{columns}
|
||||
\begin{column}{0.45\paperwidth}
|
||||
\begin{align*}
|
||||
F_r &= F \cos(\beta) \sin (\alpha) \\
|
||||
F_\theta &= F \cos(\beta) \cos (\alpha) \\
|
||||
F_h &= F \sin(\beta)
|
||||
\end{align*}
|
||||
\end{column}
|
||||
\begin{column}{0.45\paperwidth}
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[width=0.45\paperwidth]{LaTeX/fig/thrust_angle}
|
||||
\end{figure}
|
||||
\end{column}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
|
||||
\note{Finally, in order to better understand the thrust control vector, we need a useful
|
||||
frame. For this purpose, I use the r theta h frame in which the r axis is... This is useful
|
||||
because the theta axis is aligned fairly close to the velocity direction. That allows for a
|
||||
useful framework in which to analyze the control thrusts. Thrusts with a low alpha angle are
|
||||
useful for raising the energy of the orbit, while other thrusts (either alpha around pi/2 or
|
||||
high beta) are useful for steering controls.}
|
||||
|
||||
\section{Algorithm Overview}
|
||||
|
||||
\subsection{Trajectory Composition}
|
||||
|
||||
\begin{frame} \frametitle{Input Description}
|
||||
\footnotesize{
|
||||
\begin{itemize}
|
||||
\item \textbf<1>{Spacecraft dry mass in kilograms}
|
||||
\item \textbf<1>{Total starting mass of the Spacecraft in kilograms}
|
||||
\item \textbf<2>{Thruster Specific Impulse in seconds}
|
||||
\item \textbf<2>{Thruster Maximum Thrusting Force in Newtons}
|
||||
\item \textbf<2>{Thruster Duty Cycle Percentage}
|
||||
\item \textbf<2>{Number of Thrusters on Spacecraft}
|
||||
\item \textbf<3>{The Launch Window Boundaries}
|
||||
\item \textbf<3>{The Latest Arrival Date}
|
||||
\item \textbf<4>{A Maximum Acceptable $V_\infty$ at arrival in kilometers per
|
||||
second}
|
||||
\item \textbf<4>{A Maximum Acceptable $C_3$ at launch in kilometers per second
|
||||
squared}
|
||||
\item \textbf<4>{A cost function relating the mass usage, $v_\infty$ at arrival, and
|
||||
$C_3$ at launch to a cost}
|
||||
\item \textbf<5>{A list of flyby planets starting with Earth and ending with the
|
||||
destination}
|
||||
\end{itemize}
|
||||
}
|
||||
\end{frame}
|
||||
|
||||
\note{In order to fully understand the optimization algorithm, it makes sense to first
|
||||
understand the variables that won't be optimized. These will represent the mission
|
||||
parameters used as inputs to the algorithm. These first two will essentially size the
|
||||
spacecraft that we'll be using. Then the next groups will define the thrusters, the launch
|
||||
and arrival windows, the cost function to be used by the direct optimizer, and finally the
|
||||
flybys that the spacecraft will leverage on its trajectory.}
|
||||
|
||||
\subsection{Inner Loop Implementation}
|
||||
|
||||
\begin{frame} \frametitle{Non-Linear Programming Approach - Definition}
|
||||
A Non-Linear Programming Problem involves finding a solution that optimizes a function:
|
||||
|
||||
\begin{equation*}
|
||||
f(\vec{x})
|
||||
\end{equation*}
|
||||
|
||||
Subject to constraints:
|
||||
\begin{align*}
|
||||
\vec{g}(\vec{x}) &\le 0 \\
|
||||
\vec{h}(\vec{x}) &= 0
|
||||
\end{align*}
|
||||
|
||||
\end{frame}
|
||||
|
||||
\note{Now we'll treat the trajectory as a direct non-linear programming optimization
|
||||
problem. This provides a general approach to determining a local optima to a scalar function
|
||||
f of a vector-valued input, x, subject to constraints g and h, defined as can be seen here.}
|
||||
|
||||
\begin{frame} \frametitle{Non-Linear Programming Approach - Input Vector}
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[height=0.7\paperheight]{LaTeX/flowcharts/nlp}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\note{So we need simply to define the function, constraints, and the input vector. Starting
|
||||
with the input vector, we need to determine...}
|
||||
|
||||
\begin{frame} \frametitle{Non-Linear Programming Approach - Constraints}
|
||||
\begin{itemize}
|
||||
\item For every phase other than the final:
|
||||
\begin{itemize}
|
||||
\item The minimum periapsis of the hyperbolic flyby arc must be above some
|
||||
user-specified minimum safe altitude.
|
||||
\item The magnitude of the incoming hyperbolic velocity must match the magnitude
|
||||
of the outgoing hyperbolic velocity.
|
||||
\item The spacecraft position must match the planet's position (within bounds)
|
||||
at the end of the phase.
|
||||
\end{itemize}
|
||||
\item For the final phase:
|
||||
\begin{itemize}
|
||||
\item The spacecraft position must match the planet's position (within bounds)
|
||||
at the end of the phase.
|
||||
\item The final mass must be greater than the dry mass of the craft.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\note{And we can also determine a series of constraints...}
|
||||
|
||||
\begin{frame} \frametitle{Non-Linear Programming Approach - Cost Function}
|
||||
\begin{equation*}
|
||||
J(\vec{x}, m_{dry}, C_{3,max}) = 3 \left| \frac{m(\vec{x})}{m_{dry}} \right| +
|
||||
\left| \frac{C_3(\vec{x})}{C_{3,max}} \right|
|
||||
\end{equation*}
|
||||
\end{frame}
|
||||
|
||||
\note{Finally, the cost function was designed to be user-specified. However, for the
|
||||
implementation of this particular project, I utilized a combination of the normalized fuel
|
||||
usage and launch c3. Now we have a fully-defined non-linear programming problem that can be
|
||||
optimized using any direct method optimization scheme.}
|
||||
|
||||
\subsection{Outer Loop Implementation}
|
||||
|
||||
\begin{frame} \frametitle{Monotonic Basin Hopping}
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[height=0.7\textheight]{LaTeX/flowcharts/mbh}
|
||||
\end{figure}
|
||||
\end{frame}
|
||||
|
||||
\note{Now we have a method for finding local optima in the vicinity of an input vector, but
|
||||
what we're after is the global optima, meaning that we need a method for testing a variety
|
||||
of input vectors, each of which could either fail to produce a valid trajectory after the
|
||||
inner loop or produce a valid solution that may or may not be in a "basin", or collection of
|
||||
nearby valid solutions with a single "regional" optimum. In order to approach this problem,
|
||||
I've employed a Monotonic Basin Hopping algorithm. (Step through each of the steps)}
|
||||
|
||||
\begin{frame} \frametitle{Monotonic Basin Hopping - Perturbation PDF}
|
||||
Pareto Distribution:
|
||||
\begin{equation*}
|
||||
1 +
|
||||
\left[ \frac{s}{\epsilon} \right] \cdot
|
||||
\left[ \frac{\alpha - 1}{\frac{\epsilon}{\epsilon + r}^{-\alpha}} \right]
|
||||
\end{equation*}
|
||||
\end{frame}
|
||||
|
||||
\section{Sample Mission Analysis}
|
||||
|
||||
\subsection{Mission Scenario}
|
||||
|
||||
\begin{frame} \frametitle{Mission Scenario}
|
||||
\begin{itemize}
|
||||
\item Spacecraft starting mass: 3500 kg
|
||||
\item Thruster Specific Impulse: 3200 s
|
||||
\item Thruster Maximum Thrusting Force: 250 mN
|
||||
\item Thruster Duty Cycle: 100\%
|
||||
\item Number of Thrusters: 1
|
||||
\item The Launch Window: 2023 and 2024
|
||||
\item The Latest Arrival Date: December 31st, 2044
|
||||
\item Maximum $C_3$ at launch: $100 \frac{\text{km}^2}{\text{s}^2}$
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame} \frametitle{Flybys Analyzed}
|
||||
\begin{itemize}
|
||||
\item EJS
|
||||
\item EMJS
|
||||
\item EMMJS
|
||||
\item EMS
|
||||
\item ES
|
||||
\item EVMJS
|
||||
\item EVMS
|
||||
\item EVVJS
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Trajectory 1}
|
||||
|
||||
\begin{frame} \frametitle{Trajectory 1 - Earth → Mars → Saturn}
|
||||
\begin{figure}
|
||||
\includegraphics<1>[height=0.5\paperheight]{LaTeX/fig/EMS_plot}
|
||||
\includegraphics<2>[height=0.5\paperheight]{LaTeX/fig/EMS_plot_noplanets}
|
||||
\includegraphics<3>[height=0.5\paperheight]{LaTeX/fig/EMS_thrust_mag}
|
||||
\includegraphics<4>[height=0.5\paperheight]{LaTeX/fig/EMS_thrust_components_vnb}
|
||||
\end{figure}
|
||||
\vspace{-1em}
|
||||
\begin{table}\begin{tiny}
|
||||
\begin{tabular}{ | c c c c c c | }
|
||||
\hline
|
||||
\bfseries Flyby Selection &
|
||||
\bfseries Launch Date &
|
||||
\bfseries Mission Length &
|
||||
\bfseries Launch $C_3$ &
|
||||
\bfseries Arrival $V_\infty$ &
|
||||
\bfseries Fuel Usage \\
|
||||
& & (years) & $\left( \frac{km}{s} \right)^2$ & ($\frac{km}{s}$) & (kg) \\
|
||||
\hline
|
||||
EMS & 2024-06-27 & 7.9844 & 60.41025 & 5.816058 & 446.9227 \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{tiny}\end{table}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Trajectory 2}
|
||||
|
||||
\begin{frame} \frametitle{Trajectory 2 - Earth → Mars → Jupiter → Saturn}
|
||||
\begin{figure}
|
||||
\includegraphics<1>[height=0.5\paperheight]{LaTeX/fig/EMJS_plot}
|
||||
\includegraphics<2>[height=0.5\paperheight]{LaTeX/fig/EMJS_plot_noplanets}
|
||||
\includegraphics<3>[height=0.5\paperheight]{LaTeX/fig/EMJS_thrust_mag}
|
||||
\includegraphics<4>[height=0.5\paperheight]{LaTeX/fig/EMJS_thrust_components_vnb}
|
||||
\end{figure}
|
||||
\vspace{-1em}
|
||||
\begin{table}\begin{tiny}
|
||||
\begin{tabular}{ | c c c c c c | }
|
||||
\hline
|
||||
\bfseries Flyby Selection &
|
||||
\bfseries Launch Date &
|
||||
\bfseries Mission Length &
|
||||
\bfseries Launch $C_3$ &
|
||||
\bfseries Arrival $V_\infty$ &
|
||||
\bfseries Fuel Usage \\
|
||||
& & (years) & $\left( \frac{km}{s} \right)^2$ & ($\frac{km}{s}$) & (kg) \\
|
||||
\hline
|
||||
EMJS & 2023-11-08 & 14.1072 & 40.43862 & 3.477395 & 530.6683 \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{tiny}\end{table}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Results Analysis}
|
||||
|
||||
\begin{frame} \frametitle{Results Review}
|
||||
\begin{table}\begin{tiny}
|
||||
\begin{tabular}{ | c c c c c c | }
|
||||
\hline
|
||||
\bfseries Flyby Selection &
|
||||
\bfseries Launch Date &
|
||||
\bfseries Mission Length &
|
||||
\bfseries Launch $C_3$ &
|
||||
\bfseries Arrival $V_\infty$ &
|
||||
\bfseries Fuel Usage \\
|
||||
& & (years) & $\left( \frac{km}{s} \right)^2$ & ($\frac{km}{s}$) & (kg) \\
|
||||
\hline
|
||||
EMS & 2024-06-27 & 7.9844 & 60.41025 & 5.816058 & 446.9227 \\
|
||||
EMJS & 2023-11-08 & 14.1072 & 40.43862 & 3.477395 & 530.6683 \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{tiny}\end{table}
|
||||
\end{frame}
|
||||
|
||||
\section{Conclusion}
|
||||
|
||||
\begin{frame}
|
||||
\begin{center}
|
||||
\begin{Huge}
|
||||
Thank You!
|
||||
\end{Huge}
|
||||
\end{center}
|
||||
\end{frame}
|
||||
|
||||
\section{Introduction}
|
||||
|
||||
\section{Introduction}
|
||||
|
||||
\section{Introduction}
|
||||
|
||||
\section{Introduction}
|
||||
\bibliographystyle{plain}
|
||||
\bibliography{LaTeX/presentation}
|
||||
|
||||
\end{document}
|
||||
|
||||
5
Makefile
@@ -2,7 +2,7 @@ SRC_DIR = LaTeX/
|
||||
THESIS_SRC_NAMES = thesis.tex thesis.bib approach.tex conclusion.tex introduction.tex \
|
||||
results.tex trajectory_design.tex trajectory_optimization.tex
|
||||
THESIS_SRC = $(addprefix $(SRC_DIR)/,$(THESIS_SRC_NAMES))
|
||||
THESIS_PRES_SRC_NAMES = presentation.tex
|
||||
THESIS_PRES_SRC_NAMES = presentation.tex presentation.bib
|
||||
THESIS_PRES_SRC = $(addprefix $(SRC_DIR)/,$(THESIS_PRES_SRC_NAMES))
|
||||
THESIS_PRES = presentation.pdf
|
||||
THESIS_PDF = thesis.pdf
|
||||
@@ -21,6 +21,9 @@ $(BUILD_DIR)/$(THESIS_PDF): $(BUILD_DIR) $(THESIS_SRC)
|
||||
|
||||
$(BUILD_DIR)/$(THESIS_PRES): $(BUILD_DIR) $(THESIS_PRES_SRC)
|
||||
xelatex --output-directory $(BUILD_DIR) $(SRC_DIR)/presentation
|
||||
bibtex $(BUILD_DIR)/presentation
|
||||
xelatex --output-directory $(BUILD_DIR) $(SRC_DIR)/presentation
|
||||
xelatex --output-directory $(BUILD_DIR) $(SRC_DIR)/presentation
|
||||
|
||||
$(THESIS_PDF): $(BUILD_DIR)/$(THESIS_PDF)
|
||||
cp $(BUILD_DIR)/thesis.pdf .
|
||||
|
||||
@@ -64,22 +64,22 @@ println(get_id.(sorted_missions2[1:5]))
|
||||
# camera=((-0.2, -0.3, -0.2),(1.75,-1.75,1.5))));
|
||||
|
||||
# Save Orbit Plot
|
||||
savefig(Thesis.plot(short, title="EMS Mission Profile", mode="light", planet_colors=false,
|
||||
phase_colors=["#F00","#F0F","#6AF"], markers=false, legend=false,
|
||||
camera=((-0.2, 0.1, -0.3),(-2.,-2.,1.))),
|
||||
"/home/connor/projects/thesis/LaTeX/fig/EMS_plot.png",
|
||||
width=850, height=400)
|
||||
savefig(Thesis.plot(short, title="EMS Mission Profile", mode="light", planet_colors=false,
|
||||
phase_colors=["#F00","#F0F","#6AF"], markers=false, planets=false, legend=false,
|
||||
camera=((-0.2, 0.1, -0.3),(-2.,-2.,1.))),
|
||||
"/home/connor/projects/thesis/LaTeX/fig/EMS_plot_noplanets.png",
|
||||
width=850, height=400)
|
||||
savefig(Thesis.plot(long, title="EMS Mission Profile", mode="light", planet_colors=false,
|
||||
# savefig(Thesis.plot(short, title="EMS Mission Profile", mode="light", planet_colors=false,
|
||||
# phase_colors=["#F00","#F0F","#6AF"], markers=false, legend=false,
|
||||
# camera=((-0.2, 0.1, -0.3),(-2.,-2.,1.))),
|
||||
# "/home/connor/projects/thesis/LaTeX/fig/EMS_plot.png",
|
||||
# width=850, height=400)
|
||||
# savefig(Thesis.plot(short, title="EMS Mission Profile", mode="light", planet_colors=false,
|
||||
# phase_colors=["#F00","#F0F","#6AF"], markers=false, planets=false, legend=false,
|
||||
# camera=((-0.2, 0.1, -0.3),(-2.,-2.,1.))),
|
||||
# "/home/connor/projects/thesis/LaTeX/fig/EMS_plot_noplanets.png",
|
||||
# width=850, height=400)
|
||||
savefig(Thesis.plot(long, title="EMJS Mission Profile", mode="light", planet_colors=false,
|
||||
phase_colors=["#F00","#F0F","#6AF"], markers=false, legend=false,
|
||||
camera=((-0.2, -0.3, -0.2),(1.75,-1.75,1.5))),
|
||||
"/home/connor/projects/thesis/LaTeX/fig/EMJS_plot.png",
|
||||
width=850, height=400)
|
||||
savefig(Thesis.plot(long, title="EMS Mission Profile", mode="light", planet_colors=false,
|
||||
savefig(Thesis.plot(long, title="EMJS Mission Profile", mode="light", planet_colors=false,
|
||||
phase_colors=["#F00","#F0F","#6AF"], markers=false, planets=false, legend=false,
|
||||
camera=((-0.2, -0.3, -0.2),(2.,-2.,1.5))),
|
||||
"/home/connor/projects/thesis/LaTeX/fig/EMJS_plot_noplanets.png",
|
||||
@@ -89,18 +89,22 @@ savefig(Thesis.plot(long, title="EMS Mission Profile", mode="light", planet_colo
|
||||
# display(plot_thrust_components(display_mission, title="Thrust Components vs Time", mode="light"))
|
||||
|
||||
# Save Thrust Plots
|
||||
savefig(plot_thrust(short, title="Thrust Magnitude vs Time", mode="light", legend=false),
|
||||
"/home/connor/projects/thesis/LaTeX/fig/EMS_thrust_mag.png",
|
||||
width=850, height=400)
|
||||
savefig(plot_thrust_components(short, title="Thrust Components vs Time", mode="light", legend=false),
|
||||
"/home/connor/projects/thesis/LaTeX/fig/EMS_thrust_components.png",
|
||||
width=850, height=400)
|
||||
savefig(plot_thrust(long, title="Thrust Magnitude vs Time", mode="light", legend=false),
|
||||
"/home/connor/projects/thesis/LaTeX/fig/EMJS_thrust_mag.png",
|
||||
width=850, height=400)
|
||||
savefig(plot_thrust_components(long, title="Thrust Components vs Time", mode="light", legend=false),
|
||||
"/home/connor/projects/thesis/LaTeX/fig/EMJS_thrust_components.png",
|
||||
width=850, height=400)
|
||||
# savefig(plot_thrust(short, title="Thrust Magnitude vs Time", mode="light", legend=false),
|
||||
# "/home/connor/projects/thesis/LaTeX/fig/EMS_thrust_mag.png",
|
||||
# width=850, height=400)
|
||||
# savefig(plot_thrust_components(short, title="Thrust Components vs Time", mode="light", legend=false),
|
||||
# "/home/connor/projects/thesis/LaTeX/fig/EMS_thrust_components.png",
|
||||
# width=850, height=400)
|
||||
# savefig(plot_thrust(long, title="Thrust Magnitude vs Time", mode="light", legend=false),
|
||||
# "/home/connor/projects/thesis/LaTeX/fig/EMJS_thrust_mag.png",
|
||||
# width=850, height=400)
|
||||
# savefig(plot_thrust_components(long, title="Thrust Components vs Time", mode="light", legend=false),
|
||||
# "/home/connor/projects/thesis/LaTeX/fig/EMJS_thrust_components.png",
|
||||
# width=850, height=400)
|
||||
|
||||
# Save Thrust Plots (VNB)
|
||||
# display(plot_thrust_components(short, title="Thrust Components vs Time", mode="light", vnb=true))
|
||||
# display(plot_thrust_components(long, title="Thrust Components vs Time", mode="light", vnb=true))
|
||||
|
||||
# Save mission
|
||||
# store(display_mission, "/home/connor/projects/thesis/archive/best/long_mission")
|
||||
|
||||
@@ -1,4 +1,15 @@
|
||||
export oe_to_rθh, rθh_to_xyz, oe_to_xyz, xyz_to_oe, xyz_to_rθh, conv_T, spiral, gen_orbit
|
||||
export oe_to_rθh, rθh_to_xyz, oe_to_xyz, xyz_to_oe, xyz_to_rθh, xyz_to_vnb, conv_T, spiral, gen_orbit
|
||||
|
||||
function xyz_to_vnb(vec::Vector, rv::Vector)
|
||||
r = rv[1:3]
|
||||
v = rv[4:6]
|
||||
h = cross(r,v)
|
||||
n_hat = h/norm(h)
|
||||
v_hat = v/norm(v)
|
||||
b = cross(h,v)
|
||||
b_hat = b/norm(b)
|
||||
return [ dot(vec,v_hat), dot(vec,n_hat), dot(vec,b_hat) ]
|
||||
end
|
||||
|
||||
function oe_to_rθh(oe::Vector,μ::Real) :: Vector
|
||||
|
||||
|
||||
@@ -481,30 +481,32 @@ end
|
||||
function plot_thrust_components(m::Union{Mission, Mission_Guess};
|
||||
title::String="Mission Plot",
|
||||
mode::String="dark",
|
||||
legend=true,
|
||||
vnb=false,
|
||||
)
|
||||
traces = Vector{PlotlyJS.AbstractTrace}()
|
||||
times = Vector{String}()
|
||||
xs = Vector{Float64}()
|
||||
ys = Vector{Float64}()
|
||||
zs = Vector{Float64}()
|
||||
αs = Vector{Float64}()
|
||||
βs = Vector{Float64}()
|
||||
comps1 = Vector{Float64}()
|
||||
comps2 = Vector{Float64}()
|
||||
comps3 = Vector{Float64}()
|
||||
time = datetime2julian(m.launch_date)
|
||||
start = state(Earth, time, m.launch_v∞, m.start_mass)
|
||||
for phase in m.phases
|
||||
n = size(phase.thrust_profile)[1]
|
||||
path = prop(phase.thrust_profile, start, m.sc, phase.tof)
|
||||
for i in 1:n
|
||||
push!(times, format(julian2datetime(time + i*phase.tof/(86400n)),"yyyy-mm-dd HH:MM:SS"))
|
||||
push!(xs, phase.thrust_profile[i,1])
|
||||
push!(ys, phase.thrust_profile[i,2])
|
||||
push!(zs, phase.thrust_profile[i,3])
|
||||
r, θ, h = xyz_to_rθh(phase.thrust_profile[i,1:3], xyz_to_oe(path[i+1,1:6],Sun.μ))
|
||||
β = asin(h)
|
||||
α = atan(r/cos(β),θ/cos(β))
|
||||
push!(αs, α)
|
||||
push!(βs, β)
|
||||
if !vnb
|
||||
push!(times, format(julian2datetime(time + i*phase.tof/(86400n)),"yyyy-mm-dd HH:MM:SS"))
|
||||
fr, fθ, fh = xyz_to_rθh(phase.thrust_profile[i,1:3], xyz_to_oe(path[i+1,1:6],Sun.μ))
|
||||
push!(comps1, fθ)
|
||||
push!(comps2, fh)
|
||||
push!(comps3, fr)
|
||||
else
|
||||
push!(times, format(julian2datetime(time + i*phase.tof/(86400n)),"yyyy-mm-dd HH:MM:SS"))
|
||||
fv, fn, fb = xyz_to_vnb(phase.thrust_profile[i,1:3], path[i+1,1:6])
|
||||
push!(comps1, fv)
|
||||
push!(comps2, fn)
|
||||
push!(comps3, fb)
|
||||
end
|
||||
end
|
||||
time += phase.tof/86400.
|
||||
time_string = format(julian2datetime(time),"yyyy-mm-dd HH:MM:SS")
|
||||
@@ -512,21 +514,23 @@ function plot_thrust_components(m::Union{Mission, Mission_Guess};
|
||||
y=[-10.0,10.0],
|
||||
mode="lines",
|
||||
line_color="#000",
|
||||
name=phase.planet.name*" Flyby"))
|
||||
name=phase.planet.name*" Flyby",
|
||||
showlegend=false))
|
||||
mass = path[end,end]
|
||||
start = state(phase.planet, time, phase.v∞_out, mass)
|
||||
end
|
||||
push!(traces, scatter(;x=times, y=αs, name="in-plane angle"))
|
||||
push!(traces, scatter(;x=times, y=βs, name="out-of-plane angle"))
|
||||
push!(traces, scatter(;x=times, y=comps1, name="velocity component"))
|
||||
push!(traces, scatter(;x=times, y=comps2, name="out of plane component"))
|
||||
push!(traces, scatter(;x=times, y=comps3, name="cross-track component"))
|
||||
|
||||
# Determine layout details
|
||||
layout = Layout(;title=title,
|
||||
xaxis_title="Year",
|
||||
yaxis_title="Thrust Angle (Radians)",
|
||||
yaxis_range=[min(minimum(αs),minimum(βs))*1.02,max(maximum(αs),maximum(βs))*1.02],
|
||||
)
|
||||
|
||||
layout["showlegend"] = legend
|
||||
yaxis_range=[minimum(minimum.([comps1, comps2, comps3]))*1.02,
|
||||
maximum(maximum.([comps1, comps2, comps3]))*1.02],
|
||||
legend_orientation="h",
|
||||
)
|
||||
|
||||
# Plot
|
||||
PlotlyJS.plot( PlotlyJS.Plot( traces, layout ) )
|
||||
|
||||
13
temp/presentation.bbl
Normal file
@@ -0,0 +1,13 @@
|
||||
\begin{thebibliography}{1}
|
||||
|
||||
\bibitem{nasa_voyager}
|
||||
Voyager - mission overview.
|
||||
|
||||
\bibitem{jehnBepi}
|
||||
Rüdiger Jehn, Daniel García~Yárnoz, Johannes Schoenmaekers, and Vicente
|
||||
Companys.
|
||||
\newblock Trajectory design for bepicolombo based on navigation requirements.
|
||||
\newblock {\em Journal of Aerospace Engineering, Sciences and Applications},
|
||||
4:1--9, 01 2012.
|
||||
|
||||
\end{thebibliography}
|
||||
48
temp/presentation.blg
Normal file
@@ -0,0 +1,48 @@
|
||||
This is BibTeX, Version 0.99d (TeX Live 2021/Arch Linux)
|
||||
Capacity: max_strings=200000, hash_size=200000, hash_prime=170003
|
||||
The top-level auxiliary file: temp//presentation.aux
|
||||
The style file: plain.bst
|
||||
Database file #1: LaTeX/presentation.bib
|
||||
Warning--to sort, need author or key in nasa_voyager
|
||||
You've used 2 entries,
|
||||
2118 wiz_defined-function locations,
|
||||
508 strings with 4311 characters,
|
||||
and the built_in function-call counts, 514 in all, are:
|
||||
= -- 44
|
||||
> -- 24
|
||||
< -- 0
|
||||
+ -- 10
|
||||
- -- 8
|
||||
* -- 36
|
||||
:= -- 85
|
||||
add.period$ -- 4
|
||||
call.type$ -- 2
|
||||
change.case$ -- 10
|
||||
chr.to.int$ -- 0
|
||||
cite$ -- 3
|
||||
duplicate$ -- 18
|
||||
empty$ -- 46
|
||||
format.name$ -- 8
|
||||
if$ -- 107
|
||||
int.to.chr$ -- 0
|
||||
int.to.str$ -- 2
|
||||
missing$ -- 1
|
||||
newline$ -- 11
|
||||
num.names$ -- 2
|
||||
pop$ -- 13
|
||||
preamble$ -- 1
|
||||
purify$ -- 8
|
||||
quote$ -- 0
|
||||
skip$ -- 17
|
||||
stack$ -- 0
|
||||
substring$ -- 19
|
||||
swap$ -- 2
|
||||
text.length$ -- 0
|
||||
text.prefix$ -- 0
|
||||
top$ -- 0
|
||||
type$ -- 8
|
||||
warning$ -- 1
|
||||
while$ -- 3
|
||||
width$ -- 3
|
||||
write$ -- 18
|
||||
(There was 1 warning)
|
||||
102
temp/presentation.nav
Normal file
@@ -0,0 +1,102 @@
|
||||
\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}
|
||||
\headcommand {\beamer@framepages {1}{1}}
|
||||
\headcommand {\beamer@sectionpages {1}{1}}
|
||||
\headcommand {\beamer@subsectionpages {1}{1}}
|
||||
\headcommand {\sectionentry {1}{Introduction}{2}{Introduction}{0}}
|
||||
\headcommand {\beamer@subsectionpages {2}{1}}
|
||||
\headcommand {\beamer@subsectionentry {0}{1}{1}{2}{Motivation}}
|
||||
\headcommand {\slideentry {1}{1}{1}{2/2}{Motivation}{0}}
|
||||
\headcommand {\beamer@framepages {2}{2}}
|
||||
\headcommand {\slideentry {1}{1}{2}{3/3}{Motivation}{0}}
|
||||
\headcommand {\beamer@framepages {3}{3}}
|
||||
\headcommand {\slideentry {1}{1}{3}{4/4}{Motivation}{0}}
|
||||
\headcommand {\beamer@framepages {4}{4}}
|
||||
\headcommand {\beamer@subsectionpages {2}{4}}
|
||||
\headcommand {\beamer@subsectionentry {0}{1}{2}{5}{Context}}
|
||||
\headcommand {\slideentry {1}{2}{1}{5/6}{Context}{0}}
|
||||
\headcommand {\beamer@framepages {5}{6}}
|
||||
\headcommand {\beamer@sectionpages {2}{6}}
|
||||
\headcommand {\beamer@subsectionpages {5}{6}}
|
||||
\headcommand {\sectionentry {2}{Trajectory Optimization Background}{7}{Trajectory Optimization Background}{0}}
|
||||
\headcommand {\beamer@subsectionpages {7}{6}}
|
||||
\headcommand {\beamer@subsectionentry {0}{2}{1}{7}{System Dynamics}}
|
||||
\headcommand {\slideentry {2}{1}{1}{7/7}{System Dynamics}{0}}
|
||||
\headcommand {\beamer@framepages {7}{7}}
|
||||
\headcommand {\slideentry {2}{1}{2}{8/8}{System Dynamics}{0}}
|
||||
\headcommand {\beamer@framepages {8}{8}}
|
||||
\headcommand {\slideentry {2}{1}{3}{9/9}{System Dynamics}{0}}
|
||||
\headcommand {\beamer@framepages {9}{9}}
|
||||
\headcommand {\slideentry {2}{1}{4}{10/10}{System Dynamics}{0}}
|
||||
\headcommand {\beamer@framepages {10}{10}}
|
||||
\headcommand {\slideentry {2}{1}{5}{11/11}{System Dynamics}{0}}
|
||||
\headcommand {\beamer@framepages {11}{11}}
|
||||
\headcommand {\slideentry {2}{1}{6}{12/12}{System Dynamics}{0}}
|
||||
\headcommand {\beamer@framepages {12}{12}}
|
||||
\headcommand {\slideentry {2}{1}{7}{13/13}{System Dynamics}{0}}
|
||||
\headcommand {\beamer@framepages {13}{13}}
|
||||
\headcommand {\beamer@subsectionpages {7}{13}}
|
||||
\headcommand {\beamer@subsectionentry {0}{2}{2}{14}{Interplanetary Trajectories}}
|
||||
\headcommand {\slideentry {2}{2}{1}{14/14}{Interplanetary Trajectories}{0}}
|
||||
\headcommand {\beamer@framepages {14}{14}}
|
||||
\headcommand {\slideentry {2}{2}{2}{15/15}{Interplanetary Trajectories}{0}}
|
||||
\headcommand {\beamer@framepages {15}{15}}
|
||||
\headcommand {\beamer@subsectionpages {14}{15}}
|
||||
\headcommand {\beamer@subsectionentry {0}{2}{3}{16}{Low Thrust Trajectories}}
|
||||
\headcommand {\slideentry {2}{3}{1}{16/16}{Low Thrust Trajectories}{0}}
|
||||
\headcommand {\beamer@framepages {16}{16}}
|
||||
\headcommand {\slideentry {2}{3}{2}{17/17}{Low Thrust Trajectories}{0}}
|
||||
\headcommand {\beamer@framepages {17}{17}}
|
||||
\headcommand {\beamer@sectionpages {7}{17}}
|
||||
\headcommand {\beamer@subsectionpages {16}{17}}
|
||||
\headcommand {\sectionentry {3}{Algorithm Overview}{18}{Algorithm Overview}{0}}
|
||||
\headcommand {\beamer@subsectionpages {18}{17}}
|
||||
\headcommand {\beamer@subsectionentry {0}{3}{1}{18}{Trajectory Composition}}
|
||||
\headcommand {\slideentry {3}{1}{1}{18/22}{Trajectory Composition}{0}}
|
||||
\headcommand {\beamer@framepages {18}{22}}
|
||||
\headcommand {\beamer@subsectionpages {18}{22}}
|
||||
\headcommand {\beamer@subsectionentry {0}{3}{2}{23}{Inner Loop Implementation}}
|
||||
\headcommand {\slideentry {3}{2}{1}{23/23}{Inner Loop Implementation}{0}}
|
||||
\headcommand {\beamer@framepages {23}{23}}
|
||||
\headcommand {\slideentry {3}{2}{2}{24/24}{Inner Loop Implementation}{0}}
|
||||
\headcommand {\beamer@framepages {24}{24}}
|
||||
\headcommand {\slideentry {3}{2}{3}{25/25}{Inner Loop Implementation}{0}}
|
||||
\headcommand {\beamer@framepages {25}{25}}
|
||||
\headcommand {\slideentry {3}{2}{4}{26/26}{Inner Loop Implementation}{0}}
|
||||
\headcommand {\beamer@framepages {26}{26}}
|
||||
\headcommand {\beamer@subsectionpages {23}{26}}
|
||||
\headcommand {\beamer@subsectionentry {0}{3}{3}{27}{Outer Loop Implementation}}
|
||||
\headcommand {\slideentry {3}{3}{1}{27/27}{Outer Loop Implementation}{0}}
|
||||
\headcommand {\beamer@framepages {27}{27}}
|
||||
\headcommand {\slideentry {3}{3}{2}{28/28}{Outer Loop Implementation}{0}}
|
||||
\headcommand {\beamer@framepages {28}{28}}
|
||||
\headcommand {\beamer@sectionpages {18}{28}}
|
||||
\headcommand {\beamer@subsectionpages {27}{28}}
|
||||
\headcommand {\sectionentry {4}{Sample Mission Analysis}{29}{Sample Mission Analysis}{0}}
|
||||
\headcommand {\beamer@subsectionpages {29}{28}}
|
||||
\headcommand {\beamer@subsectionentry {0}{4}{1}{29}{Mission Scenario}}
|
||||
\headcommand {\slideentry {4}{1}{1}{29/29}{Mission Scenario}{0}}
|
||||
\headcommand {\beamer@framepages {29}{29}}
|
||||
\headcommand {\slideentry {4}{1}{2}{30/30}{Mission Scenario}{0}}
|
||||
\headcommand {\beamer@framepages {30}{30}}
|
||||
\headcommand {\beamer@subsectionpages {29}{30}}
|
||||
\headcommand {\beamer@subsectionentry {0}{4}{2}{31}{Trajectory 1}}
|
||||
\headcommand {\slideentry {4}{2}{1}{31/34}{Trajectory 1}{0}}
|
||||
\headcommand {\beamer@framepages {31}{34}}
|
||||
\headcommand {\beamer@subsectionpages {31}{34}}
|
||||
\headcommand {\beamer@subsectionentry {0}{4}{3}{35}{Trajectory 2}}
|
||||
\headcommand {\slideentry {4}{3}{1}{35/38}{Trajectory 2}{0}}
|
||||
\headcommand {\beamer@framepages {35}{38}}
|
||||
\headcommand {\beamer@subsectionpages {35}{38}}
|
||||
\headcommand {\beamer@subsectionentry {0}{4}{4}{39}{Results Analysis}}
|
||||
\headcommand {\slideentry {4}{4}{1}{39/39}{Results Analysis}{0}}
|
||||
\headcommand {\beamer@framepages {39}{39}}
|
||||
\headcommand {\beamer@sectionpages {29}{39}}
|
||||
\headcommand {\beamer@subsectionpages {39}{39}}
|
||||
\headcommand {\sectionentry {5}{Conclusion}{40}{Conclusion}{0}}
|
||||
\headcommand {\slideentry {5}{0}{1}{40/40}{}{0}}
|
||||
\headcommand {\beamer@framepages {40}{40}}
|
||||
\headcommand {\beamer@partpages {1}{41}}
|
||||
\headcommand {\beamer@subsectionpages {40}{41}}
|
||||
\headcommand {\beamer@sectionpages {40}{41}}
|
||||
\headcommand {\beamer@documentpages {41}}
|
||||
\headcommand {\gdef \inserttotalframenumber {29}}
|
||||
17
temp/presentation.out
Normal file
@@ -0,0 +1,17 @@
|
||||
\BOOKMARK [2][]{Outline0.1}{\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{}% 1
|
||||
\BOOKMARK [3][]{Outline0.1.1.2}{\376\377\000M\000o\000t\000i\000v\000a\000t\000i\000o\000n}{Outline0.1}% 2
|
||||
\BOOKMARK [3][]{Outline0.1.2.5}{\376\377\000C\000o\000n\000t\000e\000x\000t}{Outline0.1}% 3
|
||||
\BOOKMARK [2][]{Outline0.2}{\376\377\000T\000r\000a\000j\000e\000c\000t\000o\000r\000y\000\040\000O\000p\000t\000i\000m\000i\000z\000a\000t\000i\000o\000n\000\040\000B\000a\000c\000k\000g\000r\000o\000u\000n\000d}{}% 4
|
||||
\BOOKMARK [3][]{Outline0.2.1.7}{\376\377\000S\000y\000s\000t\000e\000m\000\040\000D\000y\000n\000a\000m\000i\000c\000s}{Outline0.2}% 5
|
||||
\BOOKMARK [3][]{Outline0.2.2.14}{\376\377\000I\000n\000t\000e\000r\000p\000l\000a\000n\000e\000t\000a\000r\000y\000\040\000T\000r\000a\000j\000e\000c\000t\000o\000r\000i\000e\000s}{Outline0.2}% 6
|
||||
\BOOKMARK [3][]{Outline0.2.3.16}{\376\377\000L\000o\000w\000\040\000T\000h\000r\000u\000s\000t\000\040\000T\000r\000a\000j\000e\000c\000t\000o\000r\000i\000e\000s}{Outline0.2}% 7
|
||||
\BOOKMARK [2][]{Outline0.3}{\376\377\000A\000l\000g\000o\000r\000i\000t\000h\000m\000\040\000O\000v\000e\000r\000v\000i\000e\000w}{}% 8
|
||||
\BOOKMARK [3][]{Outline0.3.1.18}{\376\377\000T\000r\000a\000j\000e\000c\000t\000o\000r\000y\000\040\000C\000o\000m\000p\000o\000s\000i\000t\000i\000o\000n}{Outline0.3}% 9
|
||||
\BOOKMARK [3][]{Outline0.3.2.23}{\376\377\000I\000n\000n\000e\000r\000\040\000L\000o\000o\000p\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n}{Outline0.3}% 10
|
||||
\BOOKMARK [3][]{Outline0.3.3.27}{\376\377\000O\000u\000t\000e\000r\000\040\000L\000o\000o\000p\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n}{Outline0.3}% 11
|
||||
\BOOKMARK [2][]{Outline0.4}{\376\377\000S\000a\000m\000p\000l\000e\000\040\000M\000i\000s\000s\000i\000o\000n\000\040\000A\000n\000a\000l\000y\000s\000i\000s}{}% 12
|
||||
\BOOKMARK [3][]{Outline0.4.1.29}{\376\377\000M\000i\000s\000s\000i\000o\000n\000\040\000S\000c\000e\000n\000a\000r\000i\000o}{Outline0.4}% 13
|
||||
\BOOKMARK [3][]{Outline0.4.2.31}{\376\377\000T\000r\000a\000j\000e\000c\000t\000o\000r\000y\000\040\0001}{Outline0.4}% 14
|
||||
\BOOKMARK [3][]{Outline0.4.3.35}{\376\377\000T\000r\000a\000j\000e\000c\000t\000o\000r\000y\000\040\0002}{Outline0.4}% 15
|
||||
\BOOKMARK [3][]{Outline0.4.4.39}{\376\377\000R\000e\000s\000u\000l\000t\000s\000\040\000A\000n\000a\000l\000y\000s\000i\000s}{Outline0.4}% 16
|
||||
\BOOKMARK [2][]{Outline0.5}{\376\377\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n}{}% 17
|
||||
0
temp/presentation.snm
Normal file
198
temp/thesis.bbl
Normal file
@@ -0,0 +1,198 @@
|
||||
\begin{thebibliography}{10}
|
||||
|
||||
\bibitem{bate2020fundamentals}
|
||||
Roger~R Bate, Donald~D Mueller, Jerry~E White, and William~W Saylor.
|
||||
\newblock {\em Fundamentals of astrodynamics}.
|
||||
\newblock Courier Dover Publications, 2020.
|
||||
|
||||
\bibitem{battin1984elegant}
|
||||
Richard~H Battin and Robin~M Vaughan.
|
||||
\newblock An elegant lambert algorithm.
|
||||
\newblock {\em Journal of Guidance, Control, and Dynamics}, 7(6):662--670,
|
||||
1984.
|
||||
|
||||
\bibitem{benkhoff2010bepicolombo}
|
||||
Johannes Benkhoff, Jan Van~Casteren, Hajime Hayakawa, Masaki Fujimoto, Harri
|
||||
Laakso, Mauro Novara, Paolo Ferri, Helen~R Middleton, and Ruth Ziethe.
|
||||
\newblock Bepicolombo—comprehensive exploration of mercury: Mission overview
|
||||
and science goals.
|
||||
\newblock {\em Planetary and Space Science}, 58(1-2):2--20, 2010.
|
||||
|
||||
\bibitem{blanchard1969unified}
|
||||
RC~Blanchard and ER~Lancaster.
|
||||
\newblock A unified form of lambert's theorem.
|
||||
\newblock Technical report, 1969.
|
||||
|
||||
\bibitem{brophy2002}
|
||||
John~R. Brophy.
|
||||
\newblock Nasa’s deep space 1 ion engine (plenary).
|
||||
\newblock {\em Review of Scientific Instruments}, 73(2):1071--1078, 2002.
|
||||
|
||||
\bibitem{Casalino2007IndirectOM}
|
||||
Lorenzo Casalino, Guido Colasurdo, and Matteo~Rosa Sentinella.
|
||||
\newblock Indirect optimization method for low-thrust interplanetary
|
||||
trajectories.
|
||||
\newblock 2007.
|
||||
|
||||
\bibitem{cho2017b}
|
||||
Dong-Hyun Cho, Donghun Lee, Hyochoong Bang, and Hae-Dong Kim.
|
||||
\newblock B-plane targeting method for orbit maneuver using low thrust.
|
||||
\newblock {\em International Journal of Control, Automation and Systems},
|
||||
15(4):1729--1737, 2017.
|
||||
|
||||
\bibitem{laguerre_conway}
|
||||
Bruce~A Conway.
|
||||
\newblock An improved algorithm due to laguerre for the solution of kepler's
|
||||
equation.
|
||||
\newblock {\em Celestial mechanics}, 39(2):199--211, 1986.
|
||||
|
||||
\bibitem{cybulski1965results}
|
||||
Ronald~J Cybulski, Daniel~M Shellhammer, Robert~R Lovell, Edward~J Domino,
|
||||
Joseph~T Kotnik, J~Cybulski, and Robert~R Loveli.
|
||||
\newblock Results from sert i ion rocket flight test.
|
||||
\newblock 1965.
|
||||
|
||||
\bibitem{englander2017automated}
|
||||
Jacob~A Englander and Bruce~A Conway.
|
||||
\newblock Automated solution of the low-thrust interplanetary trajectory
|
||||
problem.
|
||||
\newblock {\em Journal of Guidance, Control, and Dynamics}, 40(1):15--27, 2017.
|
||||
|
||||
\bibitem{englander2012automated}
|
||||
Jacob~A Englander, Bruce~A Conway, and Trevor Williams.
|
||||
\newblock Automated mission planning via evolutionary algorithms.
|
||||
\newblock {\em Journal of Guidance, Control, and Dynamics}, 35(6):1878--1887,
|
||||
2012.
|
||||
|
||||
\bibitem{englander2014tuning}
|
||||
Jacob~A Englander and Arnold~C Englander.
|
||||
\newblock Tuning monotonic basin hopping: improving the efficiency of
|
||||
stochastic search as applied to low-thrust trajectory optimization.
|
||||
\newblock In {\em International Symposium on Space Flight Dynamics 2014},
|
||||
number GSFC-E-DAA-TN14154, 2014.
|
||||
|
||||
\bibitem{euler1767motu}
|
||||
Leonhard Euler.
|
||||
\newblock De motu rectilineo trium corporum se mutuo attrahentium.
|
||||
\newblock {\em Novi commentarii academiae scientiarum Petropolitanae}, pages
|
||||
144--151, 1767.
|
||||
|
||||
\bibitem{gill2005snopt}
|
||||
Philip~E Gill, Walter Murray, and Michael~A Saunders.
|
||||
\newblock Snopt: An sqp algorithm for large-scale constrained optimization.
|
||||
\newblock {\em SIAM review}, 47(1):99--131, 2005.
|
||||
|
||||
\bibitem{hohmann1960attainability}
|
||||
Walter Hohmann.
|
||||
\newblock {\em The attainability of heavenly bodies}.
|
||||
\newblock Number~44. National Aeronautics and Space Administration, 1960.
|
||||
|
||||
\bibitem{jezewski1975primer}
|
||||
Donald~J Jezewski.
|
||||
\newblock Primer vector theory and applications.
|
||||
\newblock Technical report, 1975.
|
||||
|
||||
\bibitem{jordan1964application}
|
||||
JF~JORDAN.
|
||||
\newblock The application of lambert's theorem to the solution of
|
||||
interplanetary transfer problems(lambert theorem applied to solution of
|
||||
interplanetary transfer problems).
|
||||
\newblock 1964.
|
||||
|
||||
\bibitem{cassini}
|
||||
NASA Jet~Propulsion Laboratory.
|
||||
\newblock Cassini mission fact sheet, 2018.
|
||||
|
||||
\bibitem{morante}
|
||||
David Morante, Manuel Sanjurjo~Rivo, and Manuel Soler.
|
||||
\newblock Multi-objective low-thrust interplanetary trajectory optimization
|
||||
based on generalized logarithmic spirals.
|
||||
\newblock {\em Journal of Guidance, Control, and Dynamics}, 42(3):476--490,
|
||||
2019.
|
||||
|
||||
\bibitem{murray1999solar}
|
||||
Carl~D Murray and Stanley~F Dermott.
|
||||
\newblock {\em Solar system dynamics}.
|
||||
\newblock Cambridge university press, 1999.
|
||||
|
||||
\bibitem{negri2020historical}
|
||||
Rodolfo~Batista Negri and Antonio Fernando Bertachini de~Almeida Prado.
|
||||
\newblock A historical review of the theory of gravity-assists in the
|
||||
pre-spaceflight era.
|
||||
\newblock {\em Journal of the Brazilian Society of Mechanical Sciences and
|
||||
Engineering}, 42(8):1--10, 2020.
|
||||
|
||||
\bibitem{snow}
|
||||
Andrew Ning.
|
||||
\newblock Snow.jl.
|
||||
|
||||
\bibitem{polk2001performance}
|
||||
J~Polk, R~Kakuda, J~Anderson, J~Brophy, V~Rawlin, M~Patterson, J~Sovey, and
|
||||
J~Hamley.
|
||||
\newblock Performance of the nstar ion propulsion system on the deep space one
|
||||
mission.
|
||||
\newblock In {\em 39th Aerospace Sciences Meeting and Exhibit}, page 965, 2001.
|
||||
|
||||
\bibitem{rayman2006dawn}
|
||||
Marc~D Rayman, Thomas~C Fraschetti, Carol~A Raymond, and Christopher~T Russell.
|
||||
\newblock Dawn: A mission in development for exploration of main belt asteroids
|
||||
vesta and ceres.
|
||||
\newblock {\em Acta Astronautica}, 58(11):605--616, 2006.
|
||||
|
||||
\bibitem{RevelsLubinPapamarkou2016}
|
||||
J.~{Revels}, M.~{Lubin}, and T.~{Papamarkou}.
|
||||
\newblock Forward-mode automatic differentiation in {J}ulia.
|
||||
\newblock {\em arXiv:1607.07892 [cs.MS]}, 2016.
|
||||
|
||||
\bibitem{sims2006}
|
||||
Jon Sims, Paul Finlayson, Edward Rinderle, Matthew Vavrina, and Theresa
|
||||
Kowalkowski.
|
||||
\newblock {\em Implementation of a Low-Thrust Trajectory Optimization Algorithm
|
||||
for Preliminary Design}.
|
||||
|
||||
\bibitem{sims1999preliminary}
|
||||
Jonathan Sims and S~Flanagan.
|
||||
\newblock Preliminary design of low-thrust interplanetary missions.
|
||||
\newblock 1999.
|
||||
|
||||
\bibitem{stough2021nasa}
|
||||
Robert~W Stough, Kimberly~F Robinson, James~B Holt, David~A Smith, W~David
|
||||
Hitt, and Beverly~A Perry.
|
||||
\newblock Nasa’s space launch system: Capabilities for ultra-high c3
|
||||
missions.
|
||||
\newblock 2021.
|
||||
|
||||
\bibitem{sutton2016rocket}
|
||||
George~P Sutton and Oscar Biblarz.
|
||||
\newblock {\em Rocket propulsion elements}.
|
||||
\newblock John Wiley \& Sons, 2016.
|
||||
|
||||
\bibitem{vallado2001fundamentals}
|
||||
David~A Vallado.
|
||||
\newblock {\em Fundamentals of astrodynamics and applications}, volume~12.
|
||||
\newblock Springer Science \& Business Media, 2001.
|
||||
|
||||
\bibitem{c3capabilities}
|
||||
George Vardaxis, Alan Pitz, and Bong Wie.
|
||||
\newblock Aas 12-128 conceptual design and analysis of planetary defense
|
||||
technology (pdt) demonstration missions.
|
||||
\newblock 02 2022.
|
||||
|
||||
\bibitem{wachter2006implementation}
|
||||
Andreas W{\"a}chter and Lorenz~T Biegler.
|
||||
\newblock On the implementation of an interior-point filter line-search
|
||||
algorithm for large-scale nonlinear programming.
|
||||
\newblock {\em Mathematical programming}, 106(1):25--57, 2006.
|
||||
|
||||
\bibitem{wales1997global}
|
||||
David~J Wales and Jonathan~PK Doye.
|
||||
\newblock Global optimization by basin-hopping and the lowest energy structures
|
||||
of lennard-jones clusters containing up to 110 atoms.
|
||||
\newblock {\em The Journal of Physical Chemistry A}, 101(28):5111--5116, 1997.
|
||||
|
||||
\bibitem{wie1998space}
|
||||
Bong Wie.
|
||||
\newblock {\em Space vehicle dynamics and control}.
|
||||
\newblock Aiaa, 1998.
|
||||
|
||||
\end{thebibliography}
|
||||
62
temp/thesis.blg
Normal file
@@ -0,0 +1,62 @@
|
||||
This is BibTeX, Version 0.99d (TeX Live 2021/Arch Linux)
|
||||
Capacity: max_strings=200000, hash_size=200000, hash_prime=170003
|
||||
The top-level auxiliary file: temp//thesis.aux
|
||||
The style file: plain.bst
|
||||
Database file #1: LaTeX/thesis.bib
|
||||
Warning--entry type for "snow" isn't style-file defined
|
||||
--line 12 of file LaTeX/thesis.bib
|
||||
Warning--empty institution in blanchard1969unified
|
||||
Warning--empty booktitle in Casalino2007IndirectOM
|
||||
Warning--empty journal in cybulski1965results
|
||||
Warning--there's a number but no series in englander2014tuning
|
||||
Warning--there's a number but no series in hohmann1960attainability
|
||||
Warning--empty institution in jezewski1975primer
|
||||
Warning--empty journal in jordan1964application
|
||||
Warning--empty chapter and pages in sims2006
|
||||
Warning--empty publisher in sims2006
|
||||
Warning--empty year in sims2006
|
||||
Warning--empty journal in sims1999preliminary
|
||||
Warning--empty journal in stough2021nasa
|
||||
Warning--empty journal in c3capabilities
|
||||
You've used 34 entries,
|
||||
2118 wiz_defined-function locations,
|
||||
690 strings with 9651 characters,
|
||||
and the built_in function-call counts, 10595 in all, are:
|
||||
= -- 992
|
||||
> -- 567
|
||||
< -- 5
|
||||
+ -- 230
|
||||
- -- 190
|
||||
* -- 743
|
||||
:= -- 1825
|
||||
add.period$ -- 100
|
||||
call.type$ -- 34
|
||||
change.case$ -- 192
|
||||
chr.to.int$ -- 0
|
||||
cite$ -- 47
|
||||
duplicate$ -- 386
|
||||
empty$ -- 800
|
||||
format.name$ -- 190
|
||||
if$ -- 2143
|
||||
int.to.chr$ -- 0
|
||||
int.to.str$ -- 34
|
||||
missing$ -- 37
|
||||
newline$ -- 170
|
||||
num.names$ -- 68
|
||||
pop$ -- 231
|
||||
preamble$ -- 1
|
||||
purify$ -- 163
|
||||
quote$ -- 0
|
||||
skip$ -- 259
|
||||
stack$ -- 0
|
||||
substring$ -- 522
|
||||
swap$ -- 48
|
||||
text.length$ -- 5
|
||||
text.prefix$ -- 0
|
||||
top$ -- 0
|
||||
type$ -- 122
|
||||
warning$ -- 13
|
||||
while$ -- 96
|
||||
width$ -- 36
|
||||
write$ -- 346
|
||||
(There were 14 warnings)
|
||||
41
temp/thesis.out
Normal file
@@ -0,0 +1,41 @@
|
||||
\BOOKMARK [0][-]{chapter.1}{\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{}% 1
|
||||
\BOOKMARK [0][-]{chapter.2}{\376\377\000I\000n\000t\000e\000r\000p\000l\000a\000n\000e\000t\000a\000r\000y\000\040\000T\000r\000a\000j\000e\000c\000t\000o\000r\000y\000\040\000D\000e\000s\000i\000g\000n}{}% 2
|
||||
\BOOKMARK [1][-]{section.2.1}{\376\377\000S\000y\000s\000t\000e\000m\000\040\000D\000y\000n\000a\000m\000i\000c\000s}{chapter.2}% 3
|
||||
\BOOKMARK [2][-]{subsection.2.1.1}{\376\377\000T\000h\000e\000\040\000T\000w\000o\000-\000B\000o\000d\000y\000\040\000P\000r\000o\000b\000l\000e\000m}{section.2.1}% 4
|
||||
\BOOKMARK [2][-]{subsection.2.1.2}{\376\377\000K\000e\000p\000l\000e\000r\000'\000s\000\040\000L\000a\000w\000s}{section.2.1}% 5
|
||||
\BOOKMARK [2][-]{subsection.2.1.3}{\376\377\000K\000e\000p\000l\000e\000r\000'\000s\000\040\000E\000q\000u\000a\000t\000i\000o\000n}{section.2.1}% 6
|
||||
\BOOKMARK [2][-]{subsection.2.1.4}{\376\377\000L\000a\000G\000u\000e\000r\000r\000e\000-\000C\000o\000n\000w\000a\000y\000\040\000A\000l\000g\000o\000r\000i\000t\000h\000m}{section.2.1}% 7
|
||||
\BOOKMARK [1][-]{section.2.2}{\376\377\000I\000n\000t\000e\000r\000p\000l\000a\000n\000e\000t\000a\000r\000y\000\040\000T\000r\000a\000j\000e\000c\000t\000o\000r\000i\000e\000s}{chapter.2}% 8
|
||||
\BOOKMARK [2][-]{subsection.2.2.1}{\376\377\000P\000a\000t\000c\000h\000e\000d\000\040\000C\000o\000n\000i\000c\000s}{section.2.2}% 9
|
||||
\BOOKMARK [2][-]{subsection.2.2.2}{\376\377\000L\000a\000u\000n\000c\000h\000\040\000C\000o\000n\000s\000i\000d\000e\000r\000a\000t\000i\000o\000n\000s}{section.2.2}% 10
|
||||
\BOOKMARK [2][-]{subsection.2.2.3}{\376\377\000G\000r\000a\000v\000i\000t\000y\000\040\000A\000s\000s\000i\000s\000t\000\040\000M\000a\000n\000e\000u\000v\000e\000r\000s}{section.2.2}% 11
|
||||
\BOOKMARK [2][-]{subsection.2.2.4}{\376\377\000F\000l\000y\000b\000y\000\040\000P\000e\000r\000i\000a\000p\000s\000i\000s\000\040\000A\000l\000t\000i\000t\000u\000d\000e}{section.2.2}% 12
|
||||
\BOOKMARK [2][-]{subsection.2.2.5}{\376\377\000M\000u\000l\000t\000i\000p\000l\000e\000\040\000G\000r\000a\000v\000i\000t\000y\000\040\000A\000s\000s\000i\000s\000t\000\040\000T\000e\000c\000h\000n\000i\000q\000u\000e\000s}{section.2.2}% 13
|
||||
\BOOKMARK [1][-]{section.2.3}{\376\377\000M\000o\000d\000e\000l\000i\000n\000g\000\040\000L\000o\000w\000\040\000T\000h\000r\000u\000s\000t\000\040\000C\000o\000n\000t\000r\000o\000l}{chapter.2}% 14
|
||||
\BOOKMARK [2][-]{subsection.2.3.1}{\376\377\000E\000n\000g\000i\000n\000e\000\040\000M\000o\000d\000e\000l}{section.2.3}% 15
|
||||
\BOOKMARK [2][-]{subsection.2.3.2}{\376\377\000S\000i\000m\000s\000-\000F\000l\000a\000n\000a\000g\000a\000n\000\040\000T\000r\000a\000n\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.2.3}% 16
|
||||
\BOOKMARK [2][-]{subsection.2.3.3}{\376\377\000L\000o\000w\000-\000T\000h\000r\000u\000s\000t\000\040\000C\000o\000n\000t\000r\000o\000l\000\040\000V\000e\000c\000t\000o\000r\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.2.3}% 17
|
||||
\BOOKMARK [0][-]{chapter.3}{\376\377\000T\000r\000a\000j\000e\000c\000t\000o\000r\000y\000\040\000O\000p\000t\000i\000m\000i\000z\000a\000t\000i\000o\000n}{}% 18
|
||||
\BOOKMARK [1][-]{section.3.1}{\376\377\000O\000p\000t\000i\000m\000i\000z\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000B\000o\000u\000n\000d\000a\000r\000y\000\040\000V\000a\000l\000u\000e\000\040\000P\000r\000o\000b\000l\000e\000m\000s}{chapter.3}% 19
|
||||
\BOOKMARK [2][-]{subsection.3.1.1}{\376\377\000N\000o\000n\000-\000L\000i\000n\000e\000a\000r\000\040\000S\000o\000l\000v\000e\000r\000s}{section.3.1}% 20
|
||||
\BOOKMARK [2][-]{subsection.3.1.2}{\376\377\000I\000n\000t\000e\000r\000i\000o\000r\000\040\000P\000o\000i\000n\000t\000\040\000L\000i\000n\000e\000s\000e\000a\000r\000c\000h\000\040\000M\000e\000t\000h\000o\000d}{section.3.1}% 21
|
||||
\BOOKMARK [2][-]{subsection.3.1.3}{\376\377\000S\000h\000o\000o\000t\000i\000n\000g\000\040\000S\000c\000h\000e\000m\000e\000s\000\040\000f\000o\000r\000\040\000S\000o\000l\000v\000i\000n\000g\000\040\000a\000\040\000T\000w\000o\000-\000P\000o\000i\000n\000t\000\040\000B\000o\000u\000n\000d\000a\000r\000y\000\040\000V\000a\000l\000u\000e\000\040\000P\000r\000o\000b\000l\000e\000m}{section.3.1}% 22
|
||||
\BOOKMARK [1][-]{section.3.2}{\376\377\000M\000o\000n\000o\000t\000o\000n\000i\000c\000\040\000B\000a\000s\000i\000n\000\040\000H\000o\000p\000p\000i\000n\000g\000\040\000A\000l\000g\000o\000r\000i\000t\000h\000m\000s}{chapter.3}% 23
|
||||
\BOOKMARK [0][-]{chapter.4}{\376\377\000A\000l\000g\000o\000r\000i\000t\000h\000m\000\040\000O\000v\000e\000r\000v\000i\000e\000w}{}% 24
|
||||
\BOOKMARK [1][-]{section.4.1}{\376\377\000T\000r\000a\000j\000e\000c\000t\000o\000r\000y\000\040\000C\000o\000m\000p\000o\000s\000i\000t\000i\000o\000n}{chapter.4}% 25
|
||||
\BOOKMARK [1][-]{section.4.2}{\376\377\000I\000n\000n\000e\000r\000\040\000L\000o\000o\000p\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n}{chapter.4}% 26
|
||||
\BOOKMARK [2][-]{subsection.4.2.1}{\376\377\000L\000a\000G\000u\000e\000r\000r\000e\000-\000C\000o\000n\000w\000a\000y\000\040\000K\000e\000p\000l\000e\000r\000\040\000S\000o\000l\000v\000e\000r}{section.4.2}% 27
|
||||
\BOOKMARK [2][-]{subsection.4.2.2}{\376\377\000P\000r\000o\000p\000a\000g\000a\000t\000i\000n\000g\000\040\000w\000i\000t\000h\000\040\000S\000i\000m\000s\000-\000F\000l\000a\000n\000a\000g\000a\000n\000\040\000T\000r\000a\000n\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.4.2}% 28
|
||||
\BOOKMARK [2][-]{subsection.4.2.3}{\376\377\000N\000o\000n\000-\000L\000i\000n\000e\000a\000r\000\040\000P\000r\000o\000b\000l\000e\000m\000\040\000S\000o\000l\000v\000e\000r}{section.4.2}% 29
|
||||
\BOOKMARK [1][-]{section.4.3}{\376\377\000O\000u\000t\000e\000r\000\040\000L\000o\000o\000p\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n}{chapter.4}% 30
|
||||
\BOOKMARK [2][-]{subsection.4.3.1}{\376\377\000R\000a\000n\000d\000o\000m\000\040\000T\000r\000a\000j\000e\000c\000t\000o\000r\000y\000\040\000G\000e\000n\000e\000r\000a\000t\000i\000o\000n}{section.4.3}% 31
|
||||
\BOOKMARK [2][-]{subsection.4.3.2}{\376\377\000M\000o\000n\000o\000t\000o\000n\000i\000c\000\040\000B\000a\000s\000i\000n\000\040\000H\000o\000p\000p\000i\000n\000g}{section.4.3}% 32
|
||||
\BOOKMARK [0][-]{chapter.5}{\376\377\000A\000p\000p\000l\000i\000c\000a\000t\000i\000o\000n\000:\000\040\000D\000e\000s\000i\000g\000n\000i\000n\000g\000\040\000a\000\040\000T\000r\000a\000j\000e\000c\000t\000o\000r\000y\000\040\000T\000o\000\040\000S\000a\000t\000u\000r\000n}{}% 33
|
||||
\BOOKMARK [1][-]{section.5.1}{\376\377\000M\000i\000s\000s\000i\000o\000n\000\040\000S\000c\000e\000n\000a\000r\000i\000o}{chapter.5}% 34
|
||||
\BOOKMARK [2][-]{subsection.5.1.1}{\376\377\000C\000o\000s\000t\000\040\000F\000u\000n\000c\000t\000i\000o\000n}{section.5.1}% 35
|
||||
\BOOKMARK [2][-]{subsection.5.1.2}{\376\377\000F\000l\000y\000b\000y\000s\000\040\000A\000n\000a\000l\000y\000z\000e\000d}{section.5.1}% 36
|
||||
\BOOKMARK [1][-]{section.5.2}{\376\377\000F\000a\000s\000t\000e\000r\000,\000\040\000L\000e\000s\000s\000\040\000E\000f\000f\000i\000c\000i\000e\000n\000t\000\040\000T\000r\000a\000j\000e\000c\000t\000o\000r\000y}{chapter.5}% 37
|
||||
\BOOKMARK [1][-]{section.5.3}{\376\377\000S\000l\000o\000w\000e\000r\000,\000\040\000M\000o\000r\000e\000\040\000E\000f\000f\000i\000c\000i\000e\000n\000t\000\040\000T\000r\000a\000j\000e\000c\000t\000o\000r\000y}{chapter.5}% 38
|
||||
\BOOKMARK [1][-]{section.5.4}{\376\377\000F\000i\000n\000a\000l\000\040\000T\000r\000a\000j\000e\000c\000t\000o\000r\000y\000\040\000A\000n\000a\000l\000y\000s\000i\000s}{chapter.5}% 39
|
||||
\BOOKMARK [0][-]{chapter.6}{\376\377\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n}{}% 40
|
||||
\BOOKMARK [-1][-]{chapter*.5}{\376\377\000\040\000B\000i\000b\000l\000i\000o\000g\000r\000a\000p\000h\000y}{}% 41
|
||||