Skipped 1, but otherwise finished dynamics
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 127 KiB After Width: | Height: | Size: 137 KiB |
@@ -7,7 +7,7 @@
|
|||||||
viewBox="0 0 279.4 215.9"
|
viewBox="0 0 279.4 215.9"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
id="svg5"
|
id="svg5"
|
||||||
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
|
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
|
||||||
sodipodi:docname="kepler.svg"
|
sodipodi:docname="kepler.svg"
|
||||||
inkscape:export-filename="/home/connor/projects/thesis/LaTeX/fig/kepler.png"
|
inkscape:export-filename="/home/connor/projects/thesis/LaTeX/fig/kepler.png"
|
||||||
inkscape:export-xdpi="300"
|
inkscape:export-xdpi="300"
|
||||||
@@ -34,12 +34,12 @@
|
|||||||
inkscape:snap-grids="false"
|
inkscape:snap-grids="false"
|
||||||
inkscape:snap-object-midpoints="false"
|
inkscape:snap-object-midpoints="false"
|
||||||
inkscape:zoom="1.4361764"
|
inkscape:zoom="1.4361764"
|
||||||
inkscape:cx="589.76042"
|
inkscape:cx="589.41228"
|
||||||
inkscape:cy="333.17634"
|
inkscape:cy="333.17634"
|
||||||
inkscape:window-width="747"
|
inkscape:window-width="1912"
|
||||||
inkscape:window-height="1024"
|
inkscape:window-height="1040"
|
||||||
inkscape:window-x="1157"
|
inkscape:window-x="0"
|
||||||
inkscape:window-y="40"
|
inkscape:window-y="32"
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
inkscape:current-layer="layer1" />
|
inkscape:current-layer="layer1" />
|
||||||
<defs
|
<defs
|
||||||
@@ -537,5 +537,33 @@
|
|||||||
style="stroke-width:0.264583"
|
style="stroke-width:0.264583"
|
||||||
x="54.715576"
|
x="54.715576"
|
||||||
y="-221.37309">asin(E)</tspan></text>
|
y="-221.37309">asin(E)</tspan></text>
|
||||||
|
<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(#marker78240)"
|
||||||
|
d="m 97.49729,115.91916 c 0,0 6.08805,6.99782 16.02971,7.3682"
|
||||||
|
id="path990" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:4.23333px;line-height:1.25;font-family:sans-serif;stroke-width:0.264583"
|
||||||
|
x="121.56825"
|
||||||
|
y="171.21143"
|
||||||
|
id="text3194"
|
||||||
|
transform="rotate(-16.474023)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan3192"
|
||||||
|
style="font-size:4.23333px;stroke-width:0.264583"
|
||||||
|
x="121.56825"
|
||||||
|
y="171.21143">orbit path</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:4.23333px;line-height:1.25;font-family:sans-serif;stroke-width:0.264583"
|
||||||
|
x="26.715567"
|
||||||
|
y="235.20645"
|
||||||
|
id="text7432"
|
||||||
|
transform="rotate(-48.488459)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-size:4.23333px;stroke-width:0.264583"
|
||||||
|
x="26.715567"
|
||||||
|
y="235.20645"
|
||||||
|
id="tspan8368">aux circle</tspan></text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 25 KiB |
@@ -81,69 +81,68 @@
|
|||||||
\ddot{\vec{r}} = - \frac{\mu}{r^2} \hat{r}
|
\ddot{\vec{r}} = - \frac{\mu}{r^2} \hat{r}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
\subsubsection{Kepler's Laws and Equations}
|
\subsection{Kepler's Laws}
|
||||||
|
|
||||||
Now that we've fully qualified the forces acting within the Two Body Problem, we can concern
|
Now that we've fully qualified the forces acting within the Two Body Problem, we can concern
|
||||||
ourselves with more practical applications of it as a force model. It should be noted,
|
ourselves with more practical applications of it as a force model. It should be noted,
|
||||||
firstly, that the spacecraft's position and velocity (given an initial position and velocity
|
firstly, that the spacecraft's position and velocity (given an initial position and velocity
|
||||||
and of course the $\mu$ value of the primary body) is actually analytically solvable for all
|
and of course the $\mu$ value of the primary body) is actually analytically solvable for all
|
||||||
future points in time. This can be easily observed by noting that there are three
|
future points in time. This can be easily observed by noting that there are three
|
||||||
one-dimensional equations (one for each component of the three-dimensional space) and
|
one-dimensional equations (one for each component of the three-dimensional space) and
|
||||||
three unknowns (the three components of the second derivative of the position).
|
three unknowns (the three components of the second derivative of the position).
|
||||||
|
|
||||||
In the early 1600s, Johannes Kepler produced just such a solution, by taking advantages of
|
In the early 1600s, Johannes Kepler produced just such a solution, by taking advantages of
|
||||||
what is also known as ``Kepler's Laws'' which are\cite{murray1999solar}:
|
what is also known as ``Kepler's Laws'' which are\cite{murray1999solar}:
|
||||||
|
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Each planet's orbit is an ellipse with the Sun at one of the foci. This can be
|
\item Each planet's orbit is an ellipse with the Sun at one of the foci. This can be
|
||||||
expanded to any orbit by re-wording as ``all orbital paths follow a conic section
|
expanded to any orbit by re-wording as ``all orbital paths follow a conic section
|
||||||
(circle, ellipse, parabola, or hyperbola) with a primary mass at one of the foci''.
|
(circle, ellipse, parabola, or hyperbola) with a primary mass at one of the foci''.
|
||||||
|
|
||||||
Specifically the path of the orbit follows the trajectory equation:
|
Specifically the path of the orbit follows the trajectory equation:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
r = \frac{\sfrac{h^2}{\mu}}{1 + e \cos(\theta)}
|
r = \frac{\sfrac{h^2}{\mu}}{1 + e \cos(\theta)}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Where $h$ is the angular momentum of the satellite, $e$ is the
|
Where $h$ is the angular momentum of the satellite, $e$ is the
|
||||||
eccentricity of the orbit, and $\theta$ is the true anomaly, or simply
|
eccentricity of the orbit, and $\theta$ is the true anomaly, or simply
|
||||||
the angular distance the satellite has traversed along the orbit path.
|
the angular distance the satellite has traversed along the orbit path.
|
||||||
|
|
||||||
\item The area swept out by the imaginary line connecting the primary and secondary
|
\item The area swept out by the imaginary line connecting the primary and secondary
|
||||||
bodies increases linearly with respect to time. This implies that the magnitude of the
|
bodies increases linearly with respect to time. This implies that the magnitude of the
|
||||||
orbital speed is not constant. For the moment, we'll just take this
|
orbital speed is not constant. For the moment, we'll just take this
|
||||||
value to be a constant:
|
value to be a constant:
|
||||||
|
|
||||||
\begin{equation}\label{swept}
|
\begin{equation}\label{swept}
|
||||||
\frac{\Delta t}{T} = \frac{k}{\pi a b}
|
\frac{\Delta t}{T} = \frac{k}{\pi a b}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Where $k$ is the constant value, $a$ and $b$ are the semi-major and
|
Where $k$ is the constant value, $a$ and $b$ are the semi-major and
|
||||||
semi-minor axis of the conic section, and $T$ is the period. In the
|
semi-minor axis of the conic section, and $T$ is the period. In the
|
||||||
following section, we'll derive the value for $k$.
|
following section, we'll derive the value for $k$.
|
||||||
|
|
||||||
\item The square of the orbital period is proportional to the cube of the semi-major
|
\item The square of the orbital period is proportional to the cube of the semi-major
|
||||||
axis of the orbit, regardless of eccentricity. Specifically, the relationship is:
|
axis of the orbit, regardless of eccentricity. Specifically, the relationship is:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
T = 2 \pi \sqrt{\frac{a^3}{\mu}}
|
T = 2 \pi \sqrt{\frac{a^3}{\mu}}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Where $T$ is the period and $a$ is the semi-major axis.
|
Where $T$ is the period and $a$ is the semi-major axis.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
\subsection{Analytical Solutions to Kepler's Equations}
|
\subsection{Kepler's Equation}
|
||||||
|
|
||||||
Kepler was able to produce an equation to represent the angular displacement of an
|
Kepler was able to produce an equation to represent the angular displacement of an
|
||||||
orbiting body around a primary body as a function of time, which we'll derive now
|
orbiting body around a primary body as a function of time, which we'll derive now for
|
||||||
for the elliptical case\cite{vallado2001fundamentals}. Since the total area of an
|
the elliptical case\cite{vallado2001fundamentals}. Since the total area of an ellipse is
|
||||||
ellipse is the product of $\pi$, the semi-major axis, and the semi-minor axis ($\pi
|
the product of $\pi$, the semi-major axis, and the semi-minor axis ($\pi a b$), we can
|
||||||
a b$), we can relate (by Kepler's second law) the area swept out by an orbit as a
|
relate (by Kepler's second law) the area swept out by an orbit as a function of time, as
|
||||||
function of time, as we did in Equation~\ref{swept}.
|
we did in Equation~\ref{swept}. This leaves just one unknown variable $k$, which we can
|
||||||
|
determine through use of the geometric auxiliary circle, which is a circle with radius
|
||||||
This leaves just one unknown variable $k$, which we can determine through use of the
|
equal to the ellipse's semi-major axis and center directly between the two foci, as in
|
||||||
geometric auxiliary circle, which is a circle with radius equal to the ellipse's semi-major
|
Figure~\ref{aux_circ}.
|
||||||
axis and center directly between the two foci, as in Figure~\ref{aux_circ}.
|
|
||||||
|
|
||||||
\begin{figure}[H]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
@@ -151,13 +150,15 @@
|
|||||||
\caption{Geometric Representation of Auxiliary Circle}\label{aux_circ}
|
\caption{Geometric Representation of Auxiliary Circle}\label{aux_circ}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
In order to find the area swept by the spacecraft, $k$, we can take advantage of the fact
|
In order to find the area swept by the spacecraft\cite{vallado2001fundamentals}, $k$, we
|
||||||
that that area is the triangle $k_1$ subtracted from the elliptical segment $PCB$:
|
can take advantage of the fact that that area is the triangle $k_1$ subtracted from the
|
||||||
|
elliptical segment $PCB$:
|
||||||
|
|
||||||
\begin{equation}\label{areas_eq}
|
\begin{equation}\label{areas_eq}
|
||||||
k = area(seg_{PCB}) - area(k_1)
|
k = area(seg_{PCB}) - area(k_1)
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
|
\noindent
|
||||||
Where the area of the triangle $k_1$ can be found easily using geometric formulae:
|
Where the area of the triangle $k_1$ can be found easily using geometric formulae:
|
||||||
|
|
||||||
\begin{align}
|
\begin{align}
|
||||||
@@ -165,8 +166,11 @@
|
|||||||
&= \frac{ab}{2} \left(e \sin E - \cos E \sin E \right)
|
&= \frac{ab}{2} \left(e \sin E - \cos E \sin E \right)
|
||||||
\end{align}
|
\end{align}
|
||||||
|
|
||||||
Now we can find the area for the elliptical segment $PCB$ by first finding the circular
|
\noindent
|
||||||
segment $POB'$, subtracting the triangle $COB'$, then applying the fact that an ellipse is
|
Where $E$, notably, is the eccentric anomaly, or the angular distance from the
|
||||||
|
periapsis to the vertical projection of the spacecraft on the auxiliary circle. Now we
|
||||||
|
can find the area for the elliptical segment $PCB$ by first finding the circular segment
|
||||||
|
$POB'$, subtracting the triangle $COB'$, then applying the fact that an ellipse is
|
||||||
merely a vertical scaling of a circle by the amount $\frac{b}{a}$.
|
merely a vertical scaling of a circle by the amount $\frac{b}{a}$.
|
||||||
|
|
||||||
\begin{align}
|
\begin{align}
|
||||||
@@ -185,10 +189,10 @@
|
|||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Which we can then substitute back into the equation for the swept area as a function of
|
Which we can then substitute back into the equation for the swept area as a function of
|
||||||
time (Equation~\ref{swept}):
|
time (Equation~\ref{swept}) for period of time since the spacecraft left periapsis:
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\frac{\Delta t}{T} = \frac{E - e \sin E}{2 \pi}
|
\frac{\Delta t}{T} = \frac{t_2 - t_{peri}}{T} = \frac{E - e \sin E}{2 \pi}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
Which is, effectively, Kepler's equation. It is commonly known by a different form:
|
Which is, effectively, Kepler's equation. It is commonly known by a different form:
|
||||||
@@ -200,18 +204,81 @@
|
|||||||
Where we've defined the mean anomaly as $M$ and used the fact that $T =
|
Where we've defined the mean anomaly as $M$ and used the fact that $T =
|
||||||
\sqrt{\frac{a^3}{\mu}}$. This provides us a useful relationship between Eccentric Anomaly
|
\sqrt{\frac{a^3}{\mu}}$. This provides us a useful relationship between Eccentric Anomaly
|
||||||
($E$) which can be related to spacecraft position, and time, but we still need a useful
|
($E$) which can be related to spacecraft position, and time, but we still need a useful
|
||||||
algorithm for solving this equation.
|
algorithm for solving this equation in order to use this equation to propagate a
|
||||||
|
spacecraft.
|
||||||
|
|
||||||
\subsubsection{LaGuerre-Conway Algorithm}\label{laguerre}
|
\subsection{LaGuerre-Conway Algorithm}\label{laguerre}
|
||||||
|
|
||||||
For this application, I used an algorithm known as the LaGuerre-Conway
|
For this thesis, the algorithm used to solve Kepler's equation was the general numeric
|
||||||
algorithm\cite{laguerre_conway}, which was presented in 1986 as a faster and more
|
root-finding scheme first developed by LaGuerre in the 1800s and first applied to
|
||||||
robust algorithm for directly solving Kepler's equation and has been in use in many
|
Kepler's equation by Bruce Conway in 1985\cite{laguerre_conway}. In his paper, Conway
|
||||||
applications since. This algorithm is known for its convergence robustness and also
|
makes a compelling argument for utilizing the less common LaGuerre method over higher
|
||||||
its speed of convergence when compared to higher order Newton methods.
|
order Newton or Newton-Raphson methods.
|
||||||
|
|
||||||
This thesis will omit a step-through of the algorithm itself, but psuedo-code for
|
The Newton-Raphson methods, while found to generally have quite impressive convergence
|
||||||
the algorithm will be discussed briefly in Section~\ref{conway_pseudocode}.
|
rates (generally successfully solving Kepler's equation correctly within 5 iterations),
|
||||||
|
were prone to failures in convergence given certain specific initial conditions.
|
||||||
|
Therefore LaGuerre's algorithm is proposed as an alternative.
|
||||||
|
|
||||||
|
The algorithm can be relatively easily derived by examining the polynomial equation with
|
||||||
|
$m$ roots:
|
||||||
|
|
||||||
|
\begin{equation}
|
||||||
|
g(x) = (x - x_1) (x - x_2) ... ( x - x_m)
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
We can then generate some useful convenience functions as:
|
||||||
|
|
||||||
|
\begin{align}
|
||||||
|
\ln|g(x)| &= \ln|(x - x_1)| + \ln|(x - x_2)| + ... + \ln|( x - x_m)| \\
|
||||||
|
\frac{d\ln|g(x)|}{dx} &= \frac{1}{x - x_1} + \frac{1}{x - x_2} + ... + \frac{1}{x -
|
||||||
|
x_m} = G_1(x)
|
||||||
|
\end{align}
|
||||||
|
|
||||||
|
and
|
||||||
|
|
||||||
|
\begin{align}
|
||||||
|
\frac{-d^2\ln|g(x)|}{dx^2} &= \frac{1}{(x - x_1)^2} + \frac{1}{(x - x_2)^2} + ... +
|
||||||
|
\frac{1}{(x - x_m)^2} = G_2(x)
|
||||||
|
\end{align}
|
||||||
|
|
||||||
|
Now we define the targeted root as $x_1$ and make the approximation that all of the
|
||||||
|
other roots are equidistant from the targeted root, which means:
|
||||||
|
|
||||||
|
\begin{equation}
|
||||||
|
x - x_i = b, i=2,3,...,m
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
We can then rewrite $G_1$ and $G_2$ as:
|
||||||
|
|
||||||
|
\begin{align}
|
||||||
|
G_1 &= \frac{1}{a} + \frac{n-1}{b} \\
|
||||||
|
G_2 &= \frac{1}{a^2} + \frac{n-1}{b^2}
|
||||||
|
\end{align}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
Which may be solved for $a$ in terms of $G_1$, $G_2$:
|
||||||
|
|
||||||
|
\begin{equation}
|
||||||
|
a = \frac{n}{G_1 \pm \sqrt{(n-1)(nG_2 - G_1^2)}}
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
\noindent
|
||||||
|
With corresponding iteration function:
|
||||||
|
|
||||||
|
\begin{equation}
|
||||||
|
x_{i+1} = x_i - \frac{n g(x_i)}{g'(x_i) \pm \sqrt{(n-1)^2 f'(x_i)^2 - n (n-1) f(x_i)
|
||||||
|
f''(x_i)}}
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
This iteration scheme can be shown to be globally convergent, regardless of the initial
|
||||||
|
guess. More relevantly, Conway also showed that the application of this method to
|
||||||
|
Kepler's equation was shown to converge with similar speed to many of the best common
|
||||||
|
higher order Newton-Raphson solvers. However, LaGuerre's method was also found to be
|
||||||
|
incredibly robust, converging to the correct value for every one of Conway's 500,000
|
||||||
|
tests. Because of this robustness, it is very useful for propagating spacecraft states.
|
||||||
|
|
||||||
\section{Interplanetary Considerations}\label{interplanetary}
|
\section{Interplanetary Considerations}\label{interplanetary}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user