<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\documentclass[onecolumn,letterpaper,11pt]{article}

%===================================================================
\input{../common_latex_packages}
\input{../common_latex_definitions}
\input{../common_latex_memo_format}
%===================================================================

\begin{document}

\begin{labcover}
\labtitle{Methods for Offloading and Managing Mission Data}
\vspace{0.1in}
\labdate{Summer 2018}
\vspace{0.1in}
\labauth{Mike Benjamin, mikerb@mit.edu}
\labauth{Department of Mechanical Engineering, CSAIL}
\labauth{MIT, Cambridge MA 02139}
\labtoc{small}
\end{labcover}

\wikidoc{file=Memo.MissionData}
\wikidoc{auth=mikerb@mit.edu}

%======================================================================
\section{Overview}
%======================================================================

This document addresses the process of ensuring that mission data
collected on robot (or MOKAI) missions is uploaded and properly
stored on PavLab servers. The methods described here presume log
file directories created using the \app{pLogger} MOOS application.
The backup script described here uses the \cmd{rsync} utility.
The data storage is located on the \var{oceanai} server located
on the MIT campus with a 40TB external drive mounted for this
data.

%======================================================================
\section{Basic Usage}
%======================================================================

The data offload process described here runs a simple shell script,
\var{rlog.sh}, which should be in the \var{pablo\_common/bin} directory
on each robot. The basic usage is:

\begin{consoleverb}
$ cd mission_example
$ ./launch.sh
...                   // Mission runs, and creates a log file directory
$ ls
mission.moos
mission.bhv
evan_16_7_2018_____12_21_48/

$ rlog.sh
\end{consoleverb}


%======================================================================
\subsection{The Tagged Icon}

The tagged icon, Figure \ref{fig_icon_tagged}, indicates whether the
player is currently in the tagged state. In the tagged state, a player
(a) cannot grab a flag, (b) cannot tag another player, and (c) cannot
cover a tag for a teammate. It is very important for a player to
clearly know this state as it dramatically changes the capabilities of
the player and very likely puts the player in a mode of returning to
home to reset to an untagged state as soon as possible. Likewise, the
player needs to clearly know when he/she has achieved a tag reset so
as to resume normal operation.

The tag manager runs on the shoreside computer, as the process
\app{uFldTagManager}. It is responsible for monitoring the position of
all vehicles in the field, all tag requests, and deciding which tags
are granted. It also monitors a tagged vehicle's progress back to a
region of the field where it will revert back to an untagged state.

\vspace{0.1in}
\begin{figure}[H]
	\centering 
	\includegraphics[width=0.15\textwidth]{figures/icon_tagged.png}
	\caption{The tagged icon.}
	\label{fig_icon_tagged}
\end{figure}
\vspace{0.1in}

\noindent
The tag manager publishes a MOOS variable, \mvar{TAGGED\_VNAME} to
indicate the tagged status of the a given vehicle. When the vehicle
henry becomes tagged, it publishes:

\begin{fileverb}
  TAGGED_HENRY = true
\end{fileverb}

\vspace{0.1in}
\noindent
When the vehicle becomes untagged, it publishes:

\begin{fileverb}
  TAGGED_HENRY = true
\end{fileverb}

\vspace{0.1in}
\noindent
This MOOS variable is published on the shoreside computer, and shared
out to the vehicle computer, only to the vehicle related to the tag.

%======================================================================
\subsection{The Have-Flag Icon}

The have-flag icon, Figure \ref{fig_icon_have_flag}, indicates whether
the player is currently has the (virtual) flag. Upon entering the
have-flag state, a player very likely changes strategy to focus on
returning safely to base to score. Thus the player needs to clearly
know when he/she has achieved a flag grab.

The flag manager runs on the shoreside computer, as the process
\app{uFldFlagManager}. It is responsible for monitoring the position
of all vehicles in the field, all flag grab requests, and deciding
which flag grabs are granted. It also monitors the progress of a vehicle
with the flag, back to a region of the field where it will officially
achieve a score.

\vspace{0.1in}
\begin{figure}[H]
	\centering 
	\includegraphics[width=0.15\textwidth]{figures/icon_have_flag.png}
	\caption{The have-flag icon.}
	\label{fig_icon_have_flag}
\end{figure}
\vspace{0.1in}

\noindent
The flag manager publishes a MOOS variable, \mvar{HAVE\_FLAG\_VNAME} to
indicate the tagged status of the a given vehicle. When the vehicle
henry gains a flag, it publishes:

\begin{fileverb}
  HAVE_FLAG_HENRY = true
\end{fileverb}

\vspace{0.1in}
\noindent
When the vehicle loses the flag, it publishes:

\begin{fileverb}
  HAVE_FLAG_HENRY = false
\end{fileverb}

\vspace{0.1in}
\noindent
This MOOS variable is published on the shoreside computer, and shared
out to the vehicle computer, only to the vehicle related to the tag.


%======================================================================
\subsection{The Out-Of-Bounds Icon}

The out-of-bounds icon, Figure \ref{fig_icon_out_bounds}, indicates
whether the player is currently outside the playing area. Upon
entering the out-of-bound state, the player is also essentially tagged
and must return to the playing area and reset him/herself by returning
to a pre-arranged area.  Thus the player needs to clearly know when
he/she has left he playing area.


The tag manager running on the shoreside computer, also handles the
monitoring of all vehicle positions with respect to being on or off
the playing field.

\vspace{0.1in}
\begin{figure}[H]
	\centering 
	\includegraphics[width=0.15\textwidth]{figures/icon_out_of_bnds.png}
	\caption{The out-of-bounds icon.}
	\label{fig_icon_out_bounds}
\end{figure}
\vspace{0.1in}

\noindent
The tag manager publishes a MOOS variable, \mvar{ONFIELD\_VNAME} to
indicate the in-bounds status of the a given vehicle. When the vehicle
is on the field it will publish:

\begin{fileverb}
  ONFIELD_HENRY = true
\end{fileverb}

\vspace{0.1in}
\noindent
When the vehicle is not on the field, it publishes:

\begin{fileverb}
  ONFIELD_HENRY = false
\end{fileverb}

\vspace{0.1in}
\noindent
This MOOS variable is published on the shoreside computer, and shared
out to the vehicle computer, only to the vehicle related to the tag.
This status is published by default once every 10 seconds, and
immediately when there is a change in value.

%======================================================================
\subsection{The In-Tag-Range Icon}

The in-tag-range icon, Figure \ref{fig_icon_can_tag}, indicates
whether the player is currently able to tag an enemy vehicle. A tag
is achieved by the player requesting a tag, which does require either
a spoken request, or a button push if available. It may be very helpful
to the operator to know whether such a request is feasible so as to
avoid making tag requests that are doomed to fail.

\vspace{0.1in}
\begin{figure}[H]
	\centering 
	\includegraphics[width=0.15\textwidth]{figures/icon_can_tag.png}
	\caption{The in-tag-range icon.}
	\label{fig_icon_can_tag}
\end{figure}
\vspace{0.1in}

\noindent
Currently the tag manager does not publish the required information to
support this icon. It is on the to-do-list.


%======================================================================
\section{LED User Study}
%======================================================================

%======================================================================
\section{Mounting on the Platform}
%======================================================================

\vspace{0.1in}
\begin{figure}[H]
	\centering 
	\includegraphics[width=0.65\textwidth]{figures/led_strip_in_mokai.png}
	\caption{The prototype LED strip mounted in the MOKAI.}
	\label{fig_led_mounting}
\end{figure}
\vspace{0.1in}




\end{document}
</pre></body></html>