Unless Bosanac has a last minute change, the paper is done!

This commit is contained in:
Connor
2022-03-15 20:34:31 -06:00
parent fca9f32ea7
commit d00b977581
6 changed files with 26 additions and 46 deletions

View File

@@ -264,7 +264,7 @@
\item The $v_{\infty,in}$ vector representing excess velocity at the
planetary flyby (or completion of mission) at the end of the phase
\item The time of flight for the phase
\item The unit-thrust profile in a sun-fixed frame represented by a
\item The unit-thrust profile in a sun-centered frame represented by a
series of vectors with each element ranging from 0 to 1.
\end{itemize}
\end{itemize}
@@ -397,18 +397,12 @@
non-powered flyby.
From these two velocity vectors the turning angle, and thus the periapsis of the flyby,
can then be calculated by Equation~\ref{turning_angle_eq} and the following equation:
\begin{equation}
r_p = \frac{\mu}{\vec{v}_{\infty,in} \cdot \vec{v}_{\infty,out}} \cdot \left(
\frac{1}{\sin(\delta/2)} - 1 \right)
\end{equation}
If this radius of periapse is then found to be less than the minimum safe radius
(currently set to the radius of the planet plus 100 kilometers), then the process is
repeated with new random flyby velocities until a valid seed flyby is found. These
checks are also performed each time a mission is perturbed or generated by the NLP
solver.
can then be calculated by Equation~\ref{turning_angle_eq} and
Equation~\ref{periapsis_eq}. If this radius of periapse is then found to be less than
the minimum safe radius (currently set to the radius of the planet plus 100 kilometers),
then the process is repeated with new random flyby velocities until a valid seed flyby
is found. These checks are also performed each time a mission is perturbed or generated
by the NLP solver.
The final requirement then, is the thrust controls, which are actually quite simple.
Since the thrust is defined as a 3-vector of values between -1 and 1 representing some

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -121,7 +121,7 @@
The mission begins in late June of 2024 and proceeds first to an initial gravity assist with
Mars after three and one half years to rendezvous in mid-December 2027. Unfortunately, the
launch energy required to effectively used the gravity assist with Mars at this time is
launch energy required to effectively use the gravity assist with Mars at this time is
quite high. The $C_3$ value was found to be $60.4102 \frac{\text{km}^2}{\text{s}^2}$. However,
for this phase, the thrust magnitudes are quite low, raising slowly only as the spacecraft
approaches Mars, allowing for a nearly-natural trajectory to Mars rendezvous. Note also that

View File

@@ -366,7 +366,7 @@
As an example, we may wish to determine the velocity relative to the planet that the
spacecraft has at the periapsis of its hyperbolic trajectory during the flyby. This
could be useful, perhaps, for sizing the $\Delta V<$ required during the insertion stage
could be useful, perhaps, for sizing the $\Delta V$ required during the insertion stage
of the mission if the spacecraft is intended to be captured into an elliptical orbit
around its target planet. For a given incoming hyperbolic $\vec{v}_\infty$, we can first
determine the specific mechanical energy of the hyperbola at infinite distance by using
@@ -398,20 +398,19 @@
This algorithm will assume that the initial trajectory at the beginning of the mission
will be some hyperbolic orbit with velocity enough to leave the Earth. That initial
$v_\infty$ will be used as a tunable parameter in the NLP solver. This allows the
mission designer to include the launch $C_3$ in the cost function and, hopefully,
$v_\infty$ will be used as a tunable parameter in the optimization routine. This allows
the mission designer to include the launch $C_3$ in the cost function and, hopefully,
determine the mission trajectory that includes the least initial launch energy. This can
then be fed back into a mass-$C_3$ curve for prospective launch providers to determine
what the maximum mass any launch provider is capable of imparting that specific $C_3$
to.
A similar approach is taken at the end of the mission. This algorithm doesn't attempt to
exactly match the velocity of the planet at the end of the mission. Instead, the excess
hyperbolic velocity is also treated as a parameter that can be minimized by the cost
function. If a mission is to then end in insertion, a portion of the mass budget can
then be used for an impulsive thrust engine, which can provide a final insertion burn at
the end of the mission. This approach also allows flexibility for missions that might
end in a flyby rather than insertion.
exactly match the velocity of the planet. Instead, the excess hyperbolic velocity is
also treated as a parameter that can be minimized by the cost function. If a mission is
to then end in insertion, a portion of the mass budget can then be used for an impulsive
thrust engine, which can provide a final insertion burn. This approach also allows
flexibility for missions that might end in a flyby rather than insertion.
\subsection{Gravity Assist Maneuvers}
@@ -472,7 +471,7 @@
flyby, however, can provide a useful check on what turning angles are possible for a
given flyby, since the periapsis:
\begin{equation}
\begin{equation}\label{periapsis_eq}
r_p = \frac{\mu}{v_\infty^2} \left[ \frac{1}{\sin\left(\frac{\delta}{2}\right)} - 1 \right]
\end{equation}
@@ -504,9 +503,9 @@
here for its robustness given any initial guess \cite{battin1984elegant}.
Firstly, some geometric considerations must be accounted for. For any initial
position, $\vec{r}_0$, and final position, $\vec{r}_f$, and time of flight $\Delta
position, $\vec{r}_1$, and final position, $\vec{r}_2$, and time of flight $\Delta
t$, there are actually two separate transfer orbits that can connect the two points
with paths that traverse less than one full orbit. For each of these, there are
with paths that traverse less than one full orbit. Therefore, there are
actually then two trajectories that can connect the points
\cite{vallado2001fundamentals}. The first of the two will have a $\Delta \theta$ of
less than 180 degrees, which we classify as a Type I trajectory, and the second will
@@ -559,7 +558,7 @@
\begin{equation}
c_3 = \begin{cases}
\frac{\sqrt{\psi} - \sin sqrt{\psi}}{\psi^{3/2}} \quad &\text{if} \, \psi > 10^{-6} \\
\frac{\sqrt{\psi} - \sin \sqrt{\psi}}{\psi^{3/2}} \quad &\text{if} \, \psi > 10^{-6} \\
\frac{\sinh\sqrt{-\psi} - \sqrt{-\psi}}{(-\psi)^{3/2}} \quad &\text{if} \, \psi < -10^{-6} \\
1/6 \quad &\text{if} \, 10^{-6} > \psi > -10^{-6}
\end{cases}
@@ -578,7 +577,7 @@
flight:
\begin{equation}
\chi = sqrt{\frac{y}{c_2}}
\chi = \sqrt{\frac{y}{c_2}}
\end{equation}
\begin{equation}
@@ -691,7 +690,7 @@
$v_{eq}$, such that the thrust equation becomes:
\begin{align}
v_{eq} &= v_e - \frac{\Delta p A_e}{\dot{m}} \\
v_{eq} &= v_e + \frac{\Delta p A_e}{\dot{m}} \\
F &= \dot{m} v_{eq} \label{isp_1}
\end{align}
@@ -717,7 +716,7 @@
\subsection{Sims-Flanagan Transcription}
this thesis chose to use a model well suited for modeling low-thrust paths: the
This thesis chose to use a model well suited for modeling low-thrust paths: the
Sims-Flanagan transcription (SFT)\cite{sims1999preliminary}. The SFT allows for
flexibility in the trade-off between fidelity and performance, which makes it very
useful for this sort of preliminary analysis.
@@ -829,10 +828,3 @@
\caption{Graphic of an orbit-raising with a high efficiency cutoff}
\label{high_efficiency_fig}
\end{figure}
All of this is, of course, also true for impulsive trajectories. However, since the
thrust presence for those trajectories are generally taken to be impulse functions, the
control laws can afford to be much less complicated for a given mission goal, by simply
thrusting only at the moment on the orbit when the transition will be most efficient.
For a low-thrust mission, however, the control law must be continuous rather than
discrete and therefore the control law inherently gains a lot of complexity.

View File

@@ -20,7 +20,7 @@
The other category is the direct methods. In a direct optimization problem, the cost
function itself provides a value that an iterative numerical optimizer can measure
itself against. The optimal solution is then found by varying the inputs $x$ until the
itself against. The optimal solution is then found by varying the inputs $\vec{x}$ until the
cost function is reduced to a minimum value, often determined by its derivative
jacobian. A number of tools have been developed to optimize NLPs via this direct method
in the general case.
@@ -48,7 +48,7 @@
University. It uses a sparse sequential quadratic programming algorithm as its
back-end optimization scheme.
Another common NLP optimization packages (and the one used in this implementation)
Another common NLP optimization package (and the one used in this implementation)
is the Interior Point Optimizer or IPOPT\cite{wachter2006implementation}. It uses
an Interior Point Linesearch Filter Method and was developed as an open-source
project by the organization COIN-OR under the Eclipse Public License.
@@ -74,11 +74,6 @@
step the initial guess, now labeled $x_{k+1}$ after the addition of the ``step''
vector and iterates this process until predefined termination conditions are met.
In this case, the IPOPT algorithm was used, not as an optimizer, but as a solver. For
reasons that will be explained in the algorithm description in Section~\ref{algorithm} it
was sufficient merely that the non-linear constraints were met, therefore optimization (in
the particular step in which IPOPT was used) was unnecessary.
\subsubsection{Shooting Schemes for Solving a Two-Point Boundary Value Problem}
One straightforward approach to trajectory corrections is a single shooting
@@ -154,8 +149,7 @@
very well to low-thrust arcs and, in fact, Sims-Flanagan Transcribed low-thrust arcs
in particular, because there actually are control thrusts to be optimized at a
variety of different points along the orbit. This is, however, not an exhaustive
description of ways that multiple shooting can be used to optimize a trajectory,
simply the most convenient for low-thrust arcs.
description of ways that multiple shooting can be used to optimize a trajectory.
\section{Monotonic Basin Hopping Algorithms}