Skip to content

Commit

Permalink
Merge branch 'master' of github.com:fdcl-gwu/dissertation_shankar
Browse files Browse the repository at this point in the history
  • Loading branch information
skulumani committed Jul 16, 2018
2 parents 334682b + 246c053 commit 1caf57e
Show file tree
Hide file tree
Showing 10 changed files with 38 additions and 35 deletions.
4 changes: 2 additions & 2 deletions tex/appendix/inertial_eoms_derivation.tex
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ \chapter{Derivation of Inertial Equations of Motion}\label{proof:inertial_dumbbe
where \( T(q, \dot{q} \) is the kinetic energy of the system while \( U(q) \) is the potential energy of the system.

The derivation is simplified to the case of two spherical masses, but can be extended to any arbitrary configuration of masses.
The kinetic and potential energy of the dumbbell model is dupblicated from~\cref{eq:dumbbell_kinetic_and_potential_energy}
The kinetic and potential energy of the dumbbell model is duplicated from~\cref{eq:dumbbell_kinetic_and_potential_energy}
\begin{align*}
T &= \frac{1}{2} m \norm{\dot{\vb{x}}}^2 + \frac{1}{2} \tr{\vh{\Omega} J_d \vh{\Omega}^T} , \\
V( \vecbf{x}, R ) &= - m_1 U \parenth{R_A^T \parenth{\vecbf{x} + R \vecbf{\rho}_1}} - m_2 U \parenth{R_A^T \parenth{\vecbf{x} + R \vecbf{\rho}_2}} .
Expand Down Expand Up @@ -126,7 +126,7 @@ \section{Hamilton's Principle}\label{sec:inertial_hamiltons_principle}
\end{align*}
where \( u_f \in \R^3 \) is an applied force that the system can generate, e.g.\ thrusters.

The attitude dynamics are found by applyging~\cref{eq:trPQ} which gives
The attitude dynamics are found by applying~\cref{eq:trPQ} which gives
\begin{align}
-\parenth{J \dot{\iangvel}}^\wedge - \parenth{ \hat{\iangvel} J \iangvel}^\wedge + \sum_{i=1}^{2} \parenth{m_i \apos_i \deriv{U}{\apos_i}^T \aatt^T \iatt }^T - \parenth{m_i \apos_i \deriv{U}{\apos_i}^T \aatt^T \iatt } = 0.
\end{align}
Expand Down
8 changes: 4 additions & 4 deletions tex/appendix/polyhedron_algorithms.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ \chapter{Volume of a Polyhedron}\label{sec:polyhedron_volume}
The full derivation can be found in~\textcite{newson1899,orourke1998}.
A polyhedron can be decomposed into a collection of tetrahedron by combining the vertices of each face with that of the origin.
Without loss of generality, assume that each face of the polyhedron is a triangle, if not there are readily available algorithms to triangulate a surface mesh~\cite{berg2008}.
Assume that the vertices of a face are defined by \( \vc{v}_0, \vc{v}_2, \vc{v}_3 \) and numbered in a counterclock wise fashion such that the normal to the face is outward facing.
Assume that the vertices of a face are defined by \( \vc{v}_0, \vc{v}_2, \vc{v}_3 \) and numbered in a counterclockwise fashion such that the normal to the face is outward facing.
A tetrahedron is created by combining the vertices of the face with any arbitrary point, such as the origin of the polyhedron reference frame.
Then the volume of the tetrahedron is given by~\cref{eq:volume_tetrahedron}.
\begin{align}\label{eq:volume_tetrahedron}
Expand All @@ -16,9 +16,9 @@ \chapter{Volume of a Polyhedron}\label{sec:polyhedron_volume}
x_1 & y_2 & z_2 & 1 \\
x_2 & y_3 & z_3 & 1 \\
-1 & 0 & 0 & 1
\end{vmatrix}
\end{vmatrix}.
\end{align}
The total volume of the polyhdron can be computed by summing the contributions of each face as shown in~\cref{eq:volume_polyhedron}.
The total volume of the polyhedron can be computed by summing the contributions of each face as shown in~\cref{eq:volume_polyhedron}.
\begin{align}\label{eq:volume_polyhedron}
V_T = \frac{1}{6} \sum_{f} V_f
V_T = \frac{1}{6} \sum_{f} V_f.
\end{align}
6 changes: 3 additions & 3 deletions tex/appendix/relative_eoms_derivation.tex
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ \section{Variations of the Relative Variables}\label{sec:relative_variations}
In~\cref{proof:inertial_dumbbell_eoms} the variations of the inertial configuration variables were derived.
Following a similar process the variations of the reduced variables must be derived such that they also satisfy the variations of the inertial variables.
These variations must be defined precisely to ensure that the configuration space is preserved properly.
These variations will be critical for the following step of applying the Euler-Lagrage equations and deriving the equations of motion.
These variations will be critical for the following step of applying the Euler-Lagrange equations and deriving the equations of motion.
The variations of the reduced variables are obtained from the variations of the original variables given in~\cref{eq:inertial_pos_variation,eq:inertial_vel_variation,eq:inertial_att_variation,eq:inertial_ang_vel_variation} and the definition of the reduced variables given in~\cref{eq:relative_position,eq:relative_velocity,eq:relative_attitude,eq:relative_angular_velocity}.

\paragraph{Relative Position}\label{sec:relative_position_variation}
Expand All @@ -46,7 +46,7 @@ \section{Variations of the Relative Variables}\label{sec:relative_variations}
\begin{align}\label{eq:relative_attitude_variation_inverse}
\gls{sym:iattvar} &= \gls{sym:iatt}[^T] \gls{sym:aatt} \gls{sym:rattvar} \gls{sym:aatt}[^T] \gls{sym:iatt}.
\end{align}
Using this, the varation of the relative attitude is derived by substituting~\cref{eq:relative_attitude_variation_inverse} into~\cref{eq:relative_attitude_variation_1} as
Using this, the variation of the relative attitude is derived by substituting~\cref{eq:relative_attitude_variation_inverse} into~\cref{eq:relative_attitude_variation_1} as
\begin{align}\label{eq:relative_attitude_matrix_variation}
\delta \gls{sym:ratt} = \gls{sym:aatt}[^T] \gls{sym:iatt} \gls{sym:iattvar} = \gls{sym:rattvar} \gls{sym:aatt}[^T] \gls{sym:iatt} = \gls{sym:rattvar} \gls{sym:ratt}
\end{align}
Expand All @@ -59,7 +59,7 @@ \section{Variations of the Relative Variables}\label{sec:relative_variations}
&= \delta \gls{sym:ratt} \hat{\gls{sym:iangvel}} \gls{sym:ratt}[^T] + \gls{sym:ratt} \delta \hat{\gls{sym:iangvel}} \gls{sym:ratt}[^T] + \gls{sym:ratt} \hat{\gls{sym:iangvel}} \delta \gls{sym:ratt}[^T],
\end{align}
where we used~\cref{eq:hatRxR} to arrive at the final form.
The variation \( \delta \gls{sym:iangvel} \) is defined in~\cref{eq:inertial_ang_vel_variation} and subsitituded into~\cref{eq:relative_angular_velocity_variation_1} to give
The variation \( \delta \gls{sym:iangvel} \) is defined in~\cref{eq:inertial_ang_vel_variation} and substituted into~\cref{eq:relative_angular_velocity_variation_1} to give
\begin{align}\label{eq:relative_angular_velocity_variation_2}
\parenth{\delta \gls{sym:rangvel}}^\wedge &= \delta \gls{sym:ratt} \hat{\gls{sym:iangvel}} \gls{sym:ratt}[^T] + \gls{sym:ratt} \delta \hat{\gls{sym:iangvel}} \gls{sym:ratt}[^T] + \gls{sym:ratt}\hat{\gls{sym:iangvel}}\delta \gls{sym:ratt}[^T], \nonumber \\
&= \gls{sym:rattvar} \gls{sym:ratt} \hat{\gls{sym:iangvel}} \gls{sym:ratt}[^T] + \gls{sym:ratt} \parenth{ - \gls{sym:iattvar} \hat{\gls{sym:iangvel}} + \hat{\gls{sym:iangvel}}\gls{sym:iattvar} + \dot{\gls{sym:iattvar}} } \gls{sym:ratt}[^T] + \gls{sym:ratt} \hat{\gls{sym:iangvel}} \gls{sym:ratt}[^T] \gls{sym:rattvar}[^T], \nonumber \\
Expand Down
2 changes: 1 addition & 1 deletion tex/appendix/se3_control_appendix.tex
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ \subsection{Proof of~\Cref{item:prop_A_critical_points}}\label{proof:prop_A_crit
\end{enumerate}
These conditions can be determined by noticing that~\cref{item:condition_1} is the trivial solution.
For~\cref{item:condition_2}, consider the situation that \( q_{12} \neq 0 \) then from the fact that \( g_i \) are distinct yields the fact that \( \parenth{1 - \frac{g_1^2}{g_2^2} } \neq 0 \) and \( \parenth{1 - \frac{g_1^2}{g_3^2} } \neq 0 \) which means that \( q_{13}^2 \neq 0 \) since the terms must add to zero.
Similar arguments can be made for the other relations in~\cref{eq:era_critical_point_conditions} which means that the solutions must satisify either~\cref{item:condition_1} or~\cref{item:condition_2}.
Similar arguments can be made for the other relations in~\cref{eq:era_critical_point_conditions} which means that the solutions must satisfy either~\cref{item:condition_1} or~\cref{item:condition_2}.

Now consider~\cref{item:condition_2} and assume that \( g_2 > g_1 \) and \( q_{12}, q_{13}, q_{23} \neq 0 \).
From~\cref{eq:era_condition_1} this implies that \( \parenth{1 - \frac{g_1^2}{g_2^2} } q_{12}^2 > 0\) since \( q_{12}^2 > 0\).
Expand Down
4 changes: 3 additions & 1 deletion tex/conclusion.tex
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
% !TEX root = ../dissertation.tex

\chapter{Conclusion}\label{sec:conclusion}
\chapter{Conclusions}\label{sec:conclusion}

\section{Summary of Contributions}

This dissertation combined concepts from the fields of astrodynamics, geometric mechanics and control, and computational geometry.
The results provide a wide ranging solution for the operation of a spacecraft around a small body.
Expand Down
10 changes: 5 additions & 5 deletions tex/glossaries_abbreviations.tex
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
\newglossaryentry{filo}{
name={FILO},
type=\glsxtrabbrvtype,
description={first in last out},
description={First In Last Out},
nonumberlist=true,
first={first in last out (FILO)}
}

\newglossaryentry{tof}{
name={TOF},
type=\glsxtrabbrvtype,
description={time of flight},
description={Time of Flight},
nonumberlist=true,
first={time of flight (TOF)}
}
Expand Down Expand Up @@ -121,7 +121,7 @@
\newglossaryentry{uav}{
name={UAV},
type=\glsxtrabbrvtype,
description={unmanned aerial vehicle},
description={Unmanned Aerial Vehicle},
first={\glsentrydesc{uav} (\glsentrytext{uav})},
plural={UAVs},
descriptionplural={unmanned aerial vehicles},
Expand All @@ -132,7 +132,7 @@
\newglossaryentry{rwa}{
name={RWA},
type=\glsxtrabbrvtype,
description={reaction wheel assembly},
description={Reaction Wheel Assembly},
first={\glsentrydesc{rwa} (\glsentrytext{rwa})},
plural={RWAs},
descriptionplural={reaction wheel assemblies},
Expand All @@ -143,7 +143,7 @@
\newglossaryentry{cmg}{
name={CMG},
type=\glsxtrabbrvtype,
description={control moment gyroscope},
description={Control Moment Gyroscope},
first={\glsentrydesc{cmg} (\glsentrytext{cmg})},
plural={CMGs},
descriptionplural={control moment gyroscopes},
Expand Down
8 changes: 4 additions & 4 deletions tex/reachability_orbit_transfer.tex
Original file line number Diff line number Diff line change
Expand Up @@ -380,8 +380,8 @@ \section{Numerical Examples of Transfers using Reachability Sets}\label{sec:simu
The second example is a transfer from geostationary orbit of the Earth to a period orbit of \( L_1 \).
This examples demonstrates the ability to extend the reachability process to multiple iterations, to allow for a much larger and more general transfer.
Utilizing both examples it is possible to depart from the vicinity of the Earth to a Moon orbit via a series of reachable sets defined on \Poincare sections.
Finally, the results are extended from the planar problem to three dimensions with a simulation about asteroid 4769 Castlia.
This numerical example demonstrates the extension of the method to the more complicated dynamic enviornment around an asteroid.
Finally, the results are extended from the planar problem to three dimensions with a simulation about asteroid 4769 Castalia.
This numerical example demonstrates the extension of the method to the more complicated dynamic environment around an asteroid.

\subsection{Three Body Examples}

Expand Down Expand Up @@ -481,7 +481,7 @@ \subsection{Three Body Examples}
Increases in \(t_f\) are less critical and have minimal impact on the distribution of the reachability set on the \Poincare section.~\label{fig:varying_tf_reachability_sets}}
\end{figure}

\Cref{fig:varying_tf_reachability_sets} shows the reachabilty set for twelve combinations of \(t_f\) and \( u_m\) listed in~\cref{tab:varying_tf}.
\Cref{fig:varying_tf_reachability_sets} shows the reachability set for twelve combinations of \(t_f\) and \( u_m\) listed in~\cref{tab:varying_tf}.
With a small maximum control bound, \( u_m = \num{0.05} \) shown using square markers, the reachable set is not dramatically changed from that of the no control solution.
The reachable set is denoted using square markers on the left most portion of \cref{fig:varying_tf_poincare}.
Variations of \( t_f\) are indicated using different colors and also demonstrate that this parameters has a smaller impact than changes in \( u_m \).
Expand Down Expand Up @@ -844,7 +844,7 @@ \subsection{4769 Castalia Example}\label{sec:castalia_transfer}
This amount of thrust is typical of many current ion or hall effect thrusters~\cite{goebel2008,choueiri2009}.

The objective is to transfer the spacecraft between two periodic equatorial orbits about Castalia.
The initial and target orbits are periodic solutions about Castlia computed using the method introduced by Reference~\cite{scheeres2003}.
The initial and target orbits are periodic solutions about Castalia computed using the method introduced by Reference~\cite{scheeres2003}.
The initial conditions for both orbits are defined in the body-fixed frame as
\begin{align}\label{sec:initial_transfer}
\vc{x}_i &=
Expand Down
12 changes: 6 additions & 6 deletions tex/se3_control.tex
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ \chapter{Geometric Control for Spacecraft}\label{sec:se3_control}
Furthermore, the coupled geometric controller explicitly considers the attitude coupling of the body in contrast to many of the previous approaches.

This chapter considers the controlled motion of a rigid dumbbell spacecraft about a small body.
We assume that the desired trajectory, \( R_d(t), \vc{x}_d(t) \), are defined as the rotation matrix of the spacecraft body frame with respect to the inertial frame and the relative position of the spacecraft center of mass with respect to the asteorid and defined in the inertial frame, respectively.
We assume that the desired trajectory, \( R_d(t), \vc{x}_d(t) \), are defined as the rotation matrix of the spacecraft body frame with respect to the inertial frame and the relative position of the spacecraft center of mass with respect to the asteroid and defined in the inertial frame, respectively.
In contrast to controllers derived for quadrotor \gls{uav}, the attitude and translational motion are only lightly coupled in the spacecraft scenario.
From the inertial equations of motion given in~\cref{eq:inertial_position_dynamics,eq:inertial_velocity_dynamics,eq:inertial_attitude_dynamics,eq:inertial_angvel_dynamics}, the coupling between the translational and rotational dynamics is due solely to the gravitational moment on the spacecraft.
Furthermore, we assume that we have a fully actuated spacecraft such that we can apply a torque about all three rotational axes and a force in all three directions.
This is in contrast to \glspl{uav} where the system is underactuated and in order to produce certain translational forces the system must first rotate.
This is a relatively standard assumption in the astrodynamics community as most spacecraft contain seperate systems for attitude control, e.g.\ \glspl{rwa}, \glspl{cmg}, or cold gas thrusters, and translational control, e.g.\ cold-gas thrusters, electric propulsion, or large chemical rockets~\cite{hughes2004,wertz1978}.
This is a relatively standard assumption in the astrodynamics community as most spacecraft contain separate systems for attitude control, e.g.\ \glspl{rwa}, \glspl{cmg}, or cold gas thrusters, and translational control, e.g.\ cold-gas thrusters, electric propulsion, or large chemical rockets~\cite{hughes2004,wertz1978}.
However, there are also many examples of underactuated spacecraft, such as those with damaged components~\cite{petersen2015a} or cubesats with limited cost and/or size budgets.
In these situations, there are a variety of methods to handle the underactuation, ranging from optimal control techniques, exploiting external forces, or utilizing multiple control loops.

This chapter presents two controllers for the attitude motion and one controller for the translational motion.
These controllers are computed independently and used to manuever the spacecraft around the small body.
These controllers are computed independently and used to maneuver the spacecraft around the small body.
The controllers presented in this section and the low thrust orbital transfer scheme of~\cref{sec:lowthrust_transfers} provide a complete solution for the controlled motion of a spacecraft around a small body.
The reachability based transfers of~\cref{sec:lowthrust_transfers} are ideal for arrival, departure, or other large scale orbital transfers around a small body.
The controllers presented in this chapter are best suited for precise trajectory tracking, such as the shape reconstruction and landing guidance presented in~\cref{sec:shape_reconstruction}.
Expand Down Expand Up @@ -54,7 +54,7 @@ \subsection{Problem Formulation}\label{sec:control_problem_formulation}
In this section, we consider the attitude dynamics of a rigid body, and more specifically those of a dumbbell spacecraft around a small body.
We consider the inertial attitude dynamics given by~\cref{eq:inertial_attitude_dynamics,eq:inertial_angvel_dynamics} and repeated here as
\begin{align*}
\dot{\iatt} &= \iatt \iangvel, \\
\dot{\iatt} &= \iatt \hat\iangvel, \\
J \dot{\iangvel} + \hat{\iangvel} J \iangvel &= M_{ext} + u_m,
\end{align*}
where we combined the gravitational moment into a single term \( M_{ext} \in \R^3 \) which defines the total external moment on the spacecraft.
Expand Down Expand Up @@ -90,7 +90,7 @@ \subsection{Problem Formulation}\label{sec:control_problem_formulation}
\end{subequations}
Then the following properties hold:
\begin{enumerate}
\item \label{item:prop_A_psd} \( A \) is locally positive definite about \( R = R_d \) on \( \SO \).
\item \label{item:prop_A_psd} \( A \) is positive definite about \( R = R_d \) on \( \SO \).
\item \label{item:prop_eRA} The variation of \( A \) with respect to a variation of \( \delta R = R \hat{\eta} \) for \( \eta \in \R^3 \) is given by
\begin{align}\label{eq:dirDiff_A}
\dirDiff{A}{R} &= \eta \cdot e_{R} ,
Expand Down Expand Up @@ -702,7 +702,7 @@ \section{Summary}
In addition, a new adaptive attitude control for state inequality constraints is developed.
This enables the accurate stabilization and tracking of a desired attitude while avoiding obstacles.

The control approaches presented in this chapter, when combined with the results of~\cref{sec:lowthrust_transfers}, provide a complete approach for the manuevering of a spacecraft around a small body.
The control approaches presented in this chapter, when combined with the results of~\cref{sec:lowthrust_transfers}, provide a complete approach for the maneuvering of a spacecraft around a small body.
The low thrust propulsion scheme of~\cref{sec:lowthrust_transfers} is ideal for large magnitude orbital changes, while the results of this chapter provide precise trajectory tracking ideal for low altitude operations.
These nonlinear controllers are ideally suited for low altitude operations.
The results are utilized in the subsequent chapters to explore an asteroid and land on the surface.
Loading

0 comments on commit 1caf57e

Please sign in to comment.