<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/common_latex_packages}
\input{common_latex/common_latex_definitions}
\input{common_latex/common_latex_help_format}
%===================================================================

\begin{document}

\begin{labcover}
\labtitle{The swimview Utility for Visualizing Swim Files}
\vspace{0.1in}
\labtitle{for the Rescue Lab}
\vspace{0.1in}
\labdate{May 2024}
\vspace{0.1in}
\labauth{Michael Benjamin, mikerb@mit.edu}
\labauth{Department of Mechanical Engineering}
\labauth{MIT, Cambridge MA 02139}
\labtoc{small}
\end{labcover}

\wikidoc{file=App.SwimView}
\wikidoc{auth=mikerb@mit.edu}

%=================================================================
\section{Overview}
%=================================================================
\label{sec_swimview}

The \cmd{gen\_swimmers} utility is a simple GUI app for visualizing
a set of swim files. A set of swim files is part of the rescue lab
baseline mission, and often additional swim files can be made for
competitions or testing. Without this utility, the only way to visualize
a randomly generated swim file would be to launch a full mission simulation
using the swim file. With this utility, the user has a visual tool for
previewing swim files prior to launching a mission.

\vspace{0.1in}
\begin{figure}[H]
  \centering 
  \includegraphics[width=0.95\textwidth]{figures/swimview.png}
  \caption{The three swim files shown here can be toggled through the
    swimview GUI after launching with all three swim files passed as
    command line arguments. These swim files are part of the baseline
    mission for the rescue lab.}
  \label{fig_swimview}
\end{figure}
\vspace{0.1in}

%=================================================================
\subsection{Example Usage}
\label{sec_sv_example}

To launch, for example with the swim files in the rescue baseline mission folder:

\vspace{0.1in}
\begin{consoleverb}
$ cd moos-ivp-2680/missions/rescue_basline
$ swimview mit_00.txt mit_02.txt mit_05.txt
\end{consoleverb}
\vspace{0.1in}

\noindent
This should launch the GUI looking something like: 

\vspace{0.1in}
\begin{figure}[H]
  \centering 
  \includegraphics[width=0.85\textwidth]{figures/swimview_gui.png}
  \caption{{\bf The swimview GUI:} A single swim file is rendered at a time. 
    If multiple swim files are loaded, they can toggled through with the bracket
    keys, [, ].}
  \label{fig_swimview_gui}
\end{figure}
\vspace{0.1in}

\noindent
The fields on the bottom of the GUI show (a) the current swim file rendered, (b)
the number of known swimmers, (c) the number of unregistered swimmers, and (d)
the minimum separation between swimmers. 

\vspace{0.1in}
\noindent
If multiple swim files have been loaded, the user can cycle between them using
the square-bracket keys.

\vspace{0.1in}
\noindent
In the bottom left, the prevailing zoom and pan x/y values are shown. This is
a convenience to allow the user to find their favorite setting and perhaps copy
this values in to the \app{pMarineViewer} configuration block for the shoreside
mission file.

%=================================================================
\subsection{Operation Area}
\label{sec_sview_oparea}

The \app{swimview} app is tailored for the MIT sailing pavilion
(pavlab), although it will load any swim file generated for other other
areas. It is tailored for pavlab because:

\begin{packed_itemize}
\item The background image loaded is automatically from the MIT pavlab, and there
  are no provisions for loading other images currently.
\item The two primary operating areas of the pavlab, \var{pav60} and
  \var{pav90} can be superimposed on the swimmer icons. There is
  currently no provision to add other operating areas.
\end{packed_itemize}

%=======================================================================
\subsection{Pavilion Coordinates}
\label{sec_coords}

There are two supported polygon regions for the rescue lab,
representing a small and large operation area near the MIT Sailing
Pavilion, shown in Figure \ref{fig_pavlab_coords}. These two regions
are referred to as \var{pav60} and \var{pav90} respectively, due to
their length on the shorter dimension. For the autonomous rescue labs,
the smaller region is used for testing one vehicle or two vehicle
missions. The larger region is for two-on-two competitions.

\vspace{0.1in}
\begin{figure}[H]
  \centering 
  \includegraphics[width=0.82\textwidth]{figures/pavlab_coords.png}
  \caption{Useful coordinates related to this lab. Note there are two
    playing field rectangles, a large one (\var{"pav90"}) roughly the
    extent of the docks, and a smaller region (\var{"pav60"}) closer
    to the Pavlab doors on the East end of the dock.}
  \label{fig_pavlab_coords}
\end{figure}
\vspace{0.1in}

\end{document}

</pre></body></html>