Unless Bosanac has a last minute change, the paper is done!
This commit is contained in:
@@ -264,7 +264,7 @@
|
|||||||
\item The $v_{\infty,in}$ vector representing excess velocity at the
|
\item The $v_{\infty,in}$ vector representing excess velocity at the
|
||||||
planetary flyby (or completion of mission) at the end of the phase
|
planetary flyby (or completion of mission) at the end of the phase
|
||||||
\item The time of flight for 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.
|
series of vectors with each element ranging from 0 to 1.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
@@ -397,18 +397,12 @@
|
|||||||
non-powered flyby.
|
non-powered flyby.
|
||||||
|
|
||||||
From these two velocity vectors the turning angle, and thus the periapsis of the 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:
|
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
|
||||||
\begin{equation}
|
the minimum safe radius (currently set to the radius of the planet plus 100 kilometers),
|
||||||
r_p = \frac{\mu}{\vec{v}_{\infty,in} \cdot \vec{v}_{\infty,out}} \cdot \left(
|
then the process is repeated with new random flyby velocities until a valid seed flyby
|
||||||
\frac{1}{\sin(\delta/2)} - 1 \right)
|
is found. These checks are also performed each time a mission is perturbed or generated
|
||||||
\end{equation}
|
by the NLP solver.
|
||||||
|
|
||||||
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.
|
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
|
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 |
@@ -121,7 +121,7 @@
|
|||||||
|
|
||||||
The mission begins in late June of 2024 and proceeds first to an initial gravity assist with
|
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
|
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,
|
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
|
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
|
approaches Mars, allowing for a nearly-natural trajectory to Mars rendezvous. Note also that
|
||||||
|
|||||||
@@ -366,7 +366,7 @@
|
|||||||
|
|
||||||
As an example, we may wish to determine the velocity relative to the planet that the
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
$v_\infty$ will be used as a tunable parameter in the optimization routine. This allows
|
||||||
mission designer to include the launch $C_3$ in the cost function and, hopefully,
|
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
|
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
|
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$
|
what the maximum mass any launch provider is capable of imparting that specific $C_3$
|
||||||
to.
|
to.
|
||||||
|
|
||||||
A similar approach is taken at the end of the mission. This algorithm doesn't attempt 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
|
exactly match the velocity of the planet. Instead, the excess hyperbolic velocity is
|
||||||
hyperbolic velocity is also treated as a parameter that can be minimized by the cost
|
also treated as a parameter that can be minimized by the cost function. If a mission is
|
||||||
function. If a mission is to then end in insertion, a portion of the mass budget can
|
to then end in insertion, a portion of the mass budget can then be used for an impulsive
|
||||||
then be used for an impulsive thrust engine, which can provide a final insertion burn at
|
thrust engine, which can provide a final insertion burn. This approach also allows
|
||||||
the end of the mission. This approach also allows flexibility for missions that might
|
flexibility for missions that might end in a flyby rather than insertion.
|
||||||
end in a flyby rather than insertion.
|
|
||||||
|
|
||||||
\subsection{Gravity Assist Maneuvers}
|
\subsection{Gravity Assist Maneuvers}
|
||||||
|
|
||||||
@@ -472,7 +471,7 @@
|
|||||||
flyby, however, can provide a useful check on what turning angles are possible for a
|
flyby, however, can provide a useful check on what turning angles are possible for a
|
||||||
given flyby, since the periapsis:
|
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]
|
r_p = \frac{\mu}{v_\infty^2} \left[ \frac{1}{\sin\left(\frac{\delta}{2}\right)} - 1 \right]
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
@@ -504,9 +503,9 @@
|
|||||||
here for its robustness given any initial guess \cite{battin1984elegant}.
|
here for its robustness given any initial guess \cite{battin1984elegant}.
|
||||||
|
|
||||||
Firstly, some geometric considerations must be accounted for. For any initial
|
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
|
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
|
actually then two trajectories that can connect the points
|
||||||
\cite{vallado2001fundamentals}. The first of the two will have a $\Delta \theta$ of
|
\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
|
less than 180 degrees, which we classify as a Type I trajectory, and the second will
|
||||||
@@ -559,7 +558,7 @@
|
|||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
c_3 = \begin{cases}
|
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} \\
|
\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}
|
1/6 \quad &\text{if} \, 10^{-6} > \psi > -10^{-6}
|
||||||
\end{cases}
|
\end{cases}
|
||||||
@@ -578,7 +577,7 @@
|
|||||||
flight:
|
flight:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\chi = sqrt{\frac{y}{c_2}}
|
\chi = \sqrt{\frac{y}{c_2}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
@@ -691,7 +690,7 @@
|
|||||||
$v_{eq}$, such that the thrust equation becomes:
|
$v_{eq}$, such that the thrust equation becomes:
|
||||||
|
|
||||||
\begin{align}
|
\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}
|
F &= \dot{m} v_{eq} \label{isp_1}
|
||||||
\end{align}
|
\end{align}
|
||||||
|
|
||||||
@@ -717,7 +716,7 @@
|
|||||||
|
|
||||||
\subsection{Sims-Flanagan Transcription}
|
\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
|
Sims-Flanagan transcription (SFT)\cite{sims1999preliminary}. The SFT allows for
|
||||||
flexibility in the trade-off between fidelity and performance, which makes it very
|
flexibility in the trade-off between fidelity and performance, which makes it very
|
||||||
useful for this sort of preliminary analysis.
|
useful for this sort of preliminary analysis.
|
||||||
@@ -829,10 +828,3 @@
|
|||||||
\caption{Graphic of an orbit-raising with a high efficiency cutoff}
|
\caption{Graphic of an orbit-raising with a high efficiency cutoff}
|
||||||
\label{high_efficiency_fig}
|
\label{high_efficiency_fig}
|
||||||
\end{figure}
|
\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.
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
The other category is the direct methods. In a direct optimization problem, the cost
|
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
|
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
|
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
|
jacobian. A number of tools have been developed to optimize NLPs via this direct method
|
||||||
in the general case.
|
in the general case.
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
University. It uses a sparse sequential quadratic programming algorithm as its
|
University. It uses a sparse sequential quadratic programming algorithm as its
|
||||||
back-end optimization scheme.
|
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
|
is the Interior Point Optimizer or IPOPT\cite{wachter2006implementation}. It uses
|
||||||
an Interior Point Linesearch Filter Method and was developed as an open-source
|
an Interior Point Linesearch Filter Method and was developed as an open-source
|
||||||
project by the organization COIN-OR under the Eclipse Public License.
|
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''
|
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.
|
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}
|
\subsubsection{Shooting Schemes for Solving a Two-Point Boundary Value Problem}
|
||||||
|
|
||||||
One straightforward approach to trajectory corrections is a single shooting
|
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
|
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
|
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
|
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,
|
description of ways that multiple shooting can be used to optimize a trajectory.
|
||||||
simply the most convenient for low-thrust arcs.
|
|
||||||
|
|
||||||
\section{Monotonic Basin Hopping Algorithms}
|
\section{Monotonic Basin Hopping Algorithms}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user