main.tex 35.7 KB
Newer Older
Valentin Platzgummer's avatar
Valentin Platzgummer committed
1
\documentclass[]{scrartcl}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
2 3 4 5 6 7 8

\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage[utf8]{inputenc}
\usepackage{a4wide}
\usepackage{multicol}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
9 10 11
\usepackage{url}
\usepackage{xcolor}
\usepackage{framed}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
12
\usepackage{wrapfig}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
13
\usepackage{xspace}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
14
\usepackage{subcaption}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
15
\usepackage{cprotect} % for \verb|text| inside caption
Valentin Platzgummer's avatar
Valentin Platzgummer committed
16 17
\usepackage{hyperref}
\usepackage{cleveref}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
18 19

\definecolor{shadecolor}{rgb}{0.9,0.9,0.9}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
20 21

%opening
Valentin Platzgummer's avatar
Valentin Platzgummer committed
22
\subtitle{WiMA-Extension, Version 0.1}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
23
\title{User Guide}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
24
%\author{Valentin Platzgummer}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
25

Valentin Platzgummer's avatar
Valentin Platzgummer committed
26
 \input{macros.tex}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
27
 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
28 29
% \renewcommand{\theparagraph}{\arabic{section}.\arabic{subsection}.\arabic{subsubsection}.\arabic{paragraph}}
% \renewcommand{\thesubparagraph}{\arabic{section}.\arabic{subsection}.\arabic{subsubsection}.\arabic{paragraph}.\arabic{subparagraph}}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
30
 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
31

Valentin Platzgummer's avatar
Valentin Platzgummer committed
32 33 34
\begin{document}

\maketitle
Valentin Platzgummer's avatar
Valentin Platzgummer committed
35
\newpage
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
\begin{minipage}[t]{0.5\textwidth}
	\noindent © 2020 TU Wien. All rights reserved.
	
	\noindent TU Wien, ITC 389, Gusshausstrasse 25 / 389
	
	\noindent Phone: 00 43 58801 – 389211
	
	\noindent Mail: valentin.platzgummer@tuwien.ac.at
	\vspace{5mm}
\end{minipage}
\newline
\noindent \textbf{Trademarks} \newline \noindent
All other trademarks or registered trademarks are the property of their respective owners.
Disclaimer
The information provided in this document is provided "as is" without warranty of any kind. TU Wien / ITC E389 disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall TU Wien / ITC E389 be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if TU Wien / ITC E389 or its suppliers have been advised of the possibility of such damages. \newline


\noindent \textbf{Document Lifetime} \newline \noindent
TU Wien may occasionally update online documentation between releases of the related software. Consequently, if this document was not downloaded recently, it may not contain the most up-to-date information. Please refer to \url{http://www.nt.tuwien.ac.at} for the most current information.

From the Web site, you may also download and refresh this document if it has been updated, as indicated by a change in this date: 2020. \newline

\noindent \textbf{Where to get help } \newline \noindent
TU Wien support, product, and licensing information can be obtained as follows.  \newline

\noindent \textbf{Product information} — Documentation, release notes, software updates, and information about TU Wien / ITC E389 products, licensing, and service, are at TU Wien / ITC E389 website at: \url{http://www.nt.tuwien.ac.at} \newline


\noindent \textbf{Technical support} — Go to http://www.[website].com and select Support. On the Support page, you will see several options, including one for making a service request. Note that to open a service request, you must have a valid support agreement. \newline

\noindent \textbf{Your comments } \newline \noindent
Your suggestions will help us continue to improve the accuracy, organization, and overall quality of the user publications. Please send your opinion of this document to: 
\href{mailto:Documentation@[Company Name].com}{Documentation@[Company Name].com} 
If you have issues, comments, or questions about specific information or procedures, please include the title and, if available, the part number, the revision, the page numbers, and any other details that will help us locate the subject that you are addressing.
\newpage
Valentin Platzgummer's avatar
Valentin Platzgummer committed
71 72
\tableofcontents
\newpage
Valentin Platzgummer's avatar
Valentin Platzgummer committed
73
\section{Introduction} 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
74
\subsection{Purpose}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
75
The purpose of this document is to introduce the user to \wima (\textbf{Wi}reless \textbf{M}easurement \textbf{A}pplication) integrated in \qgc. \qgc is a ground control station software intended for the remote control of UAVs (\uav). A Documentation of the \qgc program can be found under \qgcdocurl. The WiMA extends the functionality of \qgc to simplify mobile UAV based coverage measurements. 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
76 77
\subsection{Scope}
The current goal of the \wima is to provide software able to generate flight plans form minimal user input. This guide contains information about how to use \wima.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
78
\subsection{How to use this Guide}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
79
The guide is structured into short sections describing specific problems. Most likely your question can be answered by reading only a few of those section. Try to find your problem in the table of contents before reading the entire guide. Additionally it is advised to read \cref{sec:warnings}, \cref{sec:hints}, and \cref{sec:brief}.
80

81
 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
82

Valentin Platzgummer's avatar
Valentin Platzgummer committed
83 84 85
\section{System Description}

\subsection{Key Features}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
86
The extension can generate flight plans based on minimal user input. This is done by defining different areas on a world map. Additionally \wima offers to partition generated flight plans, which gives more flexibility. Partitioning makes it possibly to execute a subset of a flight plan, which makes it less tedious to cover large areas. As a security feature \wima offers a smart return to launch routine. Most return to launch implementations choose the direct path for return, which can be blocked. \wima can automatically calculate a save return path, based on user defined save area. \wima also offers fast adaption of flight altitude and speed.   
Valentin Platzgummer's avatar
Valentin Platzgummer committed
87

Valentin Platzgummer's avatar
Valentin Platzgummer committed
88
\subsection{Inventory}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
89
The source code can be cloned from the git repository \gitrepourl. The root directory of the project contains the folder "deploy" inside which a \verb|.AppImage| of the program can be found. Under GNU/Linux \qgc can be launched from console or by double-clicking the \verb|.AppImage|. It is also possible to build versions for Microsoft Windows, Android or Mac. For this purpose refer to the  \qgc documentation under \qgcdocurl. 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
90

91 92
Built with Qt 5.11.3.

Valentin Platzgummer's avatar
Valentin Platzgummer committed
93

Valentin Platzgummer's avatar
Valentin Platzgummer committed
94
\section{Menus and Instructions}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
95 96 97 98 99 100 101 102 103 104 105
\subsection{Warnings}
\label{sec:warnings}
Warnings in \qgc are displayed inside yellow boxes at the top of the window (see \cref{fig:qgcWarning}). They automatically disappear after some time. 
\begin{figure}	
	\centering
	\includegraphics[width=0.45\textwidth]{pics/qgcWarning}
	\caption{Warning at the top of the window.}
	\label{fig:qgcWarning}
\end{figure}
\subsection{Hints}
\label{sec:hints}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
106
\qgc gives many hints on how to use it. E. g. input boxes have a hint sign (\verb|?|), see \cref{fig:hints}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
\begin{figure*}
	\centering
	\begin{subfigure}[t]{0.49\textwidth}		
		\centering
		\includegraphics[width=0.7\textwidth]{pics/qgcHint}
		\caption{Input box with hint.}
		\label{fig:qgcHint}
	\end{subfigure}
	\begin{subfigure}[t]{0.49\textwidth}		
		\centering
		\includegraphics[width=0.7\textwidth]{pics/qgcHintText}
		\cprotect\caption{Text displayed at the right hand side after clicking the \verb|?| sign.}
		\label{fig:qgcHintText}
	\end{subfigure}
	\cprotect\caption{Hints can be displayed by clicking the \verb|?| sign.}
	\label{fig:hints}
\end{figure*}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
124
\subsection{Brief Summary}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
125
\label{sec:brief}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
126
Figure \cref{fig:QGCMainButtonExplain} shows a detail view of the QGC main window. Relevant for this documentation are the flight view, the plan view and the \wima view. Their function will now be briefly summarized.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
127

Valentin Platzgummer's avatar
Valentin Platzgummer committed
128
The \textbf{plan view} is used to create flight plans and is part of standard \qgc. Flight plans can be stored as \verb|.plan| files or directly be uploaded to a vehicle (either a real one or to a simulator). Flight plans consist of way-points. Each way-point stores, among others, a coordinate (latitude, longitude, altitude) and a command (take off, land, wait for x seconds, \etc). To define a sensible flight plan a sequence of way-points should begin with a take off command and end with a land command. Besides way-points more complex patterns can be defined, which is done by inserting a Survey, a Circular Survey, a Structure Scan or a Corridor Scan.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
129

Valentin Platzgummer's avatar
Valentin Platzgummer committed
130
The \textbf{flight view} comes in necessary as soon as you want a vehicle to get in action. Once the vehicle established a connection (serial, TCP, UDP, \etc), \qgc starts to communicate automatically with it, in most cases. If not, check the settings menu of \qgc. A connected vehicle will appear as a red arrow on the map, showing the vehicles position and orientation. On the top indicator strip (\cref{fig:flightViewTopIndicatorStrip}), telemetry data will be published. At the left edge a tool strip (\cref{fig:flightViewToolStrip}) will be activated, which can be used to command the vehicle.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
131

Valentin Platzgummer's avatar
Valentin Platzgummer committed
132
The \textbf{\wima view} is used to generate flight paths from minimal user input. The user can define a Measurement Area, a Service Area (for take off, land, supply tasks, etc.) and a Corridor, which connects the other two areas. Further the \wima plan view and flight view will be described. 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
133

Valentin Platzgummer's avatar
Valentin Platzgummer committed
134 135 136 137 138 139 140 141 142 143
\begin{figure*}
	\begin{subfigure}{0.5\textwidth}
		\includegraphics[width=0.11\textwidth]{pics/flightViewToolStrip}
		\centering
		\caption{Flight view tool strip. Used to command the vehicle.}
		\label{fig:flightViewToolStrip}
	\end{subfigure}
	\begin{subfigure}{0.5\textwidth}
		\includegraphics[width=0.7\textwidth]{pics/QGCMainWindowCroppedRect}
		\centering
Valentin Platzgummer's avatar
Valentin Platzgummer committed
144
		\caption{Detail view of the QGC main window, which appears after start-up. Marked in red is the button for switching to plan view, green indicates the flight view button, and marked in magenta is the button for switching to the \wima plan view.}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
145 146 147 148
		\label{fig:QGCMainButtonExplain}
	\end{subfigure}
	\caption{Flight view tool strip and view switching.}
\end{figure*}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
149 150 151 152 153 154
\begin{figure}[h!]
	\includegraphics[width=0.8\textwidth]{pics/flightViewTopIndicatorStrip}
	\centering
	\caption{Flight view top indicator strip. Show's data about a connected vehicle. Among others satellite count, telemetry quality, battery level \etc are displayed.}
	\label{fig:flightViewTopIndicatorStrip}
\end{figure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
155

Valentin Platzgummer's avatar
Valentin Platzgummer committed
156

157
\subsection{\wima Plan View}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
158
\label{sec:wimaPlanView}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
159 160

\begin{wrapfigure}{r}{0.3\textwidth}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
161
	\vspace{-10pt}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
162
	\centering
Valentin Platzgummer's avatar
Valentin Platzgummer committed
163
	\includegraphics[width=0.05\textwidth]{pics/WiMAToolstrip}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
164 165
	\caption{WiMA Toolstrip inside WiMA Main Window.}
	\label{fig:WimaToolstrip}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
166
	\vspace{-10pt}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
167
\end{wrapfigure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
168 169 170
By clicking the wave symbol (see \cref{fig:QGCMainButtonExplain}, magenta square) the WiMA view appears. After entering, at the left screen edge, the WiMA tool strip will appear (depicted in \cref{fig:WimaToolstrip}). 
\subsubsection{WiMA Tool Strip}
\label{sec:wimaToolStrip}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
171
The \wima tool strip is used for load/ save operations as well as editing tasks. The file button can be used to load, save and clear missions. Measurement and service area as well as corridor can be added by clicking the corresponding buttons. The calculate button can be used to regenerate the current mission. However with the current version regeneration is done automatically. The center and zoom buttons are used to navigate the map.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
172

Valentin Platzgummer's avatar
Valentin Platzgummer committed
173 174
\subsubsection{WiMA Areas}
\label{sec:wimaAreas}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
175
The three areas, namely the measurement area, the service area and the corridor, can be defined using the corresponding buttons (see \cref{sec:insertAreas}). In the default mode the areas will be displayed as a half transparent polygon surrounded by a white lines. The polygon shape can be altered by using the drag and split handles shown in \cref{fig:vertexHandle}, \cref{fig:vertexPlus} and \cref{fig:moveArea}. All areas will be listed at the right side within the WiMA Item Editor (see \cref{fig:WimaItemEditor}). The WiMA Item Editor can be used to modify area parameters.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
176 177
The Parameters \verb|Altitude|, \verb|Layers|, and \verb|Layer Dist.| are reserved for future use and don't yet have any impact. The \verb|Offset| parameter changes the distance between the area and its border polygon. The border polygon is a helper to provide sufficient clearance between the area and nearby obstacles, like trees or buildings. The border polygon can be deactivated by unchecking the \verb|Border Polygon| check box. This can be use full for service area and corridor. 
Additionally the \wima item editor shows some statistics about the polygon, like area and number of nodes.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
178

Valentin Platzgummer's avatar
Valentin Platzgummer committed
179
The three areas have the following purpose.  The \wima measurement area defines, as the name indicates, the area of interest within which any measurements are performed. See \cref{sec:wimaAreas} for more information about \wima areas. The \wima service area is meant to be the place were takeoff and landing happens as well as battery exchange or repair work. See \cref{sec:wimaAreas} for more information about \wima areas. The \wima corridor connects the measurement area and the service areas and defines a path which the vehicles uses to travel between Service and Measurement Area. 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
180

Valentin Platzgummer's avatar
Valentin Platzgummer committed
181
A minimal configuration of areas consists of measurement and service area. In that case the two areas must be overlapping. The corridor can additionally be used to connect measurement and service area if overlapping of those two is not desired. A valid configuration including measurement, service area and corridor could look like in \cref{fig:validConfig}. The sum of all three areas is further refereed to as the joined area. 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
182

Valentin Platzgummer's avatar
Valentin Platzgummer committed
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197
\begin{figure*}[h!]
	\begin{subfigure}[t]{0.49\textwidth}
		\includegraphics[width=0.8\textwidth]{pics/wimaArea}
		\centering
		\caption{\wima area with border polygon. Shown is a measurement area (green).}
		\label{fig:wimaArea}		
	\end{subfigure}
	\begin{subfigure}[t]{0.49\textwidth}
		\centering
		\includegraphics[width=0.65\textwidth]{pics/WiMAItemEditor}
		\caption{\wima item editor at the right edge of the \wima plan view.}
		\label{fig:WimaItemEditor}
	\end{subfigure}
	\caption{\wima Area and corresponding item editor.}
\end{figure*}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
198 199 200 201 202 203
\begin{figure}
	\centering
	\includegraphics[width=0.3\textwidth]{pics/optimPath}
	\caption{Flight path of a real vehicle (red line).}
	\label{fig:optimPaht}
\end{figure} 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
204
\begin{figure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
205
	\begin{subfigure}{0.3\textwidth}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
206
		\centering
Valentin Platzgummer's avatar
Valentin Platzgummer committed
207
		\includegraphics[width=0.5\textwidth]{pics/VertexHandle}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
208 209
		\caption{Adjust the vertex by dragging it's handle.}
		\label{fig:vertexHandle}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
210
	\end{subfigure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
211
	\hfill
Valentin Platzgummer's avatar
Valentin Platzgummer committed
212
	\begin{subfigure}{0.3\textwidth}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
213
		\centering
Valentin Platzgummer's avatar
Valentin Platzgummer committed
214
		\includegraphics[width=0.5\textwidth]{pics/VertexPlus}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
215 216
		\caption{Add vertices by hitting the plus sign.}
		\label{fig:vertexPlus}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
217
	\end{subfigure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
218
	\hfill
Valentin Platzgummer's avatar
Valentin Platzgummer committed
219
	\begin{subfigure}{0.3\textwidth}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
220
		\centering
Valentin Platzgummer's avatar
Valentin Platzgummer committed
221
		\includegraphics[width=0.5\textwidth]{pics/MoveArea}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
222
		\caption{Move the entire area by dragging its drag handle.}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
223
		\label{fig:moveArea}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
224 225
	\end{subfigure}
	\caption{Move and drag handles.}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
226
\end{figure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
227
\begin{figure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
228 229 230 231 232 233 234 235 236 237 238 239 240
	\begin{subfigure}[t]{0.59\textwidth}
		\includegraphics[width=0.9\textwidth]{pics/validAreas}
		\centering
		\caption{A valid configuration of measurement, service area and corridor.}
		\label{fig:validConfig}		
	\end{subfigure}
	\begin{subfigure}[t]{0.39\textwidth}	
		\includegraphics[width=0.8\textwidth]{pics/wimaViewSaveLoad}
		\centering
		\caption{\wima tool strip save/load dialogue.}
		\label{fig:wimaViewSaveLoad}
	\end{subfigure}
	\caption{\wima areas and \wima save/load dialogue.}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
241
\end{figure} 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
242

Valentin Platzgummer's avatar
Valentin Platzgummer committed
243 244
\subsubsection{Saving and Loading \wima Missions}
\label{sec:savingLoadingWima}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
245
Pressing the \verb|File| button (see \cref{fig:wimaViewSaveLoad}) of \wima tool strip (see \cref{sec:wimaToolStrip}) opens a menu offering saving and loading operations. At one hand all \wima areas and mission items can be saved using the \verb|.wima| file extension, at the other hand the mission items only can be stored using the \verb|.plan| file extension. The \verb|Open| button can be used to load previously stored files. 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
246

Valentin Platzgummer's avatar
Valentin Platzgummer committed
247 248
\subsubsection{Clearing \wima Missions}
\label{sec:clearingWima}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
249
Press the \verb|File| button (see \cref{fig:wimaViewSaveLoad}) of \wima tool strip (see \cref{sec:wimaToolStrip}) to open the dialogue window. Pressing the \verb|New| button deletes all contents within the WiMA Main Window. 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
250

Valentin Platzgummer's avatar
Valentin Platzgummer committed
251 252
\subsubsection{Uploading, Downloading and Clearing vehicle Missions}
\label{sec:uploadDownloadVehicle}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
253
Press \verb|File| button (see \cref{fig:wimaViewSaveLoad}) of \wima tool strip (see \cref{sec:wimaToolStrip}) to open the dialog window. With the \verb|Upload|, \verb|Download| and \verb|Clear Vehicle Mission| button, the mission items (if present) can be uploaded, downloaded or deleted from the vehicle.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
254 255


Valentin Platzgummer's avatar
Valentin Platzgummer committed
256 257
\subsubsection{Inserting \wima Areas}
\label{sec:insertAreas}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
258
The \verb|Measure|, \verb|Service| and \verb|Corridor| buttons of the \wima tool strip (see \cref{sec:wimaToolStrip}) are used to insert a measurement, service and corridor area, respectively. Only one of each can be inserted. To generate a flight plan, at least a measurement and a service area must be defined. In that case both must be overlapping.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
259

Valentin Platzgummer's avatar
Valentin Platzgummer committed
260 261
\subsubsection{Generating a \wima flight plan}
\label{sec:generatingFlightPlan}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
262
The current version of \wima automatically updates the flight plan, after terminated user interaction. However using the \verb|Calculate| button (see \cref{fig:wimaViewSaveLoad}) of the \wima tool strip (see \cref{sec:wimaToolStrip}), manual regeneration can be triggered. The flight plan will be generated such that all way-points are within or at least at the edge of the joined\footnote{The joined area is the sum of measurement, service area and corridor (see \cref{sec:wimaAreas}).} area. However it should be taken in account, that the vehicle could still leave the save area, even under fully functional operation. Depending on the software implementation of the vehicles flight stack (firmware), the flight controller could perform a path change. Additionally drifts caused by wind gusts could occur. An example can be seen in \cref{fig:optimPaht}. The vehicles flight controller has no information about any \wima Areas, they exist exclusively within the \qgc application.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
263
\begin{figure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
264 265 266 267 268 269 270 271 272
	\begin{subfigure}[t]{0.39\textwidth}		
		\includegraphics[width=0.65\textwidth]{pics/wimaRadioButtons}
		\centering
		\caption{Checking the Mission radio button, on the right hand side, displays the mission items.}
		\label{fig:wimaRadioButtons}
	\end{subfigure}
	\begin{subfigure}[t]{0.59\textwidth}	
		\includegraphics[width=0.9\textwidth]{pics/flightPath2}
		\centering	
Valentin Platzgummer's avatar
Valentin Platzgummer committed
273
		\caption{The flight path generated from the areas depicted in \cref{fig:validConfig}.}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
274 275 276
		\label{fig:flightPath}
	\end{subfigure}
	\caption{Mission radio button and an example flight plan.}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
277
	\vspace{-10pt}	
Valentin Platzgummer's avatar
Valentin Platzgummer committed
278
\end{figure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
279 280
\subsubsection{Navigating the Map}
\label{sec:navigatingMap}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
281
The three buttons  \verb|Center|, \verb|In| and \verb|Out| (see \cref{fig:wimaViewSaveLoad}) of the \wima tool strip (see \cref{sec:wimaToolStrip}) can be used to center the view to a object of interest, and for zooming. The Map can be navigated by dragging the mouse pointer or touch screen.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
282 283

\subsubsection{How to display the generated flight plan}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
284
The flight plan can be displayed by checking the \verb|Mission| radio button above the \wima item editor (see. \cref{fig:wimaRadioButtons}), as depicted in fig \cref{fig:wimaRadioButtons}. An example of a generated flight path can be seen in \cref{fig:flightPath}. Within the green measurement area the program has generated a circular survey (see \cref{sec:circularSurvey} ). The survey has an entry and an exit point. The program has routed paths from the take off point to the surveys entry point and from the surveys exit point to the landing point. The paths have been chosen to be within the joined area and to be as short as possible. 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
285

Valentin Platzgummer's avatar
Valentin Platzgummer committed
286
\begin{wrapfigure}{r}{0.35\textwidth}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
287
	\vspace{-10pt}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
288
	\includegraphics[width=0.3\textwidth]{pics/circularSurveyItemEditor}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
289
	\centering
Valentin Platzgummer's avatar
Valentin Platzgummer committed
290 291 292 293 294 295 296 297 298 299
	\caption{The circular survey item editor at the right hand side.}
	\label{fig:circularSurveyItemEditor}
	\vspace{-20pt}	
\end{wrapfigure} 
\subsubsection{Circular Survey}
\label{sec:circularSurvey}  
The Circular Survey (green area in \cref{fig:flightPath}, containing circular tracks) is a flight pattern provided by \wima. It is similar to the Survey pattern of the standard \qgc application. The Circular Survey was adapted for mobile coverage measurements. It consists of circle segments refereed to as transects. Ideally, the transects are connected with each other such that the path between entry and exit point is as short as possible. Currently this goal is approximated by a heuristics. The solution might not always be the global optimum. The \verb|Reference| point (Circle with R symbol and Reference tag, see \cref{fig:flightPath}) defines the center of the circle segments. It is supposed to be placed on the base stations position.

Circular survey parameters can be edited with the circular survey editor (see \cref{fig:circularSurveyItemEditor}). The \verb|Altitude| input box adjusts the altitude of the survey's way-points. The distance between adjacent circle segments can be modified by changing the \verb|Delta R| value. The circle segments are approximated by polygonal structures, consisting of way-points. Two arbitrary adjacent way-points of a circle segment have a maximum angle between them. This angle can be adjusted by editing the \verb|Delta Alpha| input box. The \verb|Delta Alpha| value can assume everything between 0.3$^{\circ}$ and 90$^{\circ}$. The higher the value the rougher the circle appears. The survey will contain the less way-points the higher the \verb|Delta R| and the \verb|Delta Alpha| values are. The number of way-points impacts the recreation and upload time.
In general the following holds. The less way-points the better. Use only as many way-point as you really need.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
300

Valentin Platzgummer's avatar
Valentin Platzgummer committed
301
Short transects are often undesired, to remove them, the minimal transect length can be specified by the \verb|Min. Length| value. 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
302

Valentin Platzgummer's avatar
Valentin Platzgummer committed
303
If it is desired that the UAV flies with the same direction each transect the \verb|Fixed| \verb|Direction| check box can be activated. The \verb|Relative Altitude| check box enables relative height. With the \verb|Reverse Path| check box path reversal can be obtained. The \verb|Reset Reference| button the reference handle can be set to the survey area center. This can be helpful if the reference handle is hidden.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
304

Valentin Platzgummer's avatar
Valentin Platzgummer committed
305 306
To reduce calculation effort, the maximum number of way-points can be set using the \verb|Max Waypoints| input box. Transects are hidden and calculations aborted, if the number of way-points exceeds \verb|Max Waypoints|.

Valentin Platzgummer's avatar
Valentin Platzgummer committed
307 308


Valentin Platzgummer's avatar
Valentin Platzgummer committed
309 310
\subsubsection{How to synchronize Data with Flight View}
\label{sec:syncWima}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
311
To synchronize the generated flight plan with the \wima flight view (see \cref{sec:wimaFlightView}) press the \verb|Sync WiMA| button in the upper right corner (see \cref{fig:syncWima}). The button will be visible only if a valid flight plan was generated and flash if data is not synchronized with the \wima flight view.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
312
\subsubsection{Editing Flight Plans}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
313
The generated flight plan can be edited in the same way as it would be done inside the standard plan view using the mission tool strip (see \cref{fig:wimaViewMissionToolStrip}). After editing, the flight plan can be saved (see \cref{sec:savingLoadingWima}) or synchronized with \wima flight view (see \cref{sec:syncWima}).
314
\subsection{Flight View and \wima Menu}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
315
\label{sec:wimaFlightView}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
316
The \wima flight view extends the \qgc flight view by the \wima menu, which offers some useful tools like flight plan partitioning, smart return to launch, fast speed changing etc. By default the \wima menu is visible inside the flight view (see \cref{fig:wimaMenu}). The menu can be hidden using the \verb|disable WiMA| slider at it's top. A slider showing the text \verb|enable WiMA| will remain a few seconds at the lower left corner of the flight view befor vanishing. Hovering the mouse at the lower left corner will make the slider visible again.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
317 318 319 320 321 322 323 324
\begin{figure*}
	\begin{subfigure}[t]{0.3\textwidth}		
		\includegraphics[width=0.4\textwidth]{pics/SyncWima}
		\centering
		\caption{Synchronize button located in the upper right corner of the \wima plan view.}
		\label{fig:syncWima}
	\end{subfigure}
	\begin{subfigure}[t]{0.3\textwidth}		
Valentin Platzgummer's avatar
Valentin Platzgummer committed
325
		\includegraphics[width=0.2\textwidth]{pics/wimaViewMissionToolStrip}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
326 327 328 329 330 331 332
		\centering
		\caption{Mission tool strip located at the upper left corner of the \wima plan view.}
		\label{fig:wimaViewMissionToolStrip}
	\end{subfigure}
	\begin{subfigure}[t]{0.3\textwidth}	
		\includegraphics[width=0.9\textwidth]{pics/wimaMenu}
		\centering
Valentin Platzgummer's avatar
Valentin Platzgummer committed
333
		\caption{Top part of the \wima menu located at the lower left corner of the flight view.}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
334 335
		\label{fig:wimaMenu}
	\end{subfigure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
336
	\caption{Different elements.}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
337 338
\end{figure*}
\subsubsection{How to synchronize a Flight Plan with the \wima Menu}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
339
See \cref{sec:wimaPlanView} and especially \cref{sec:syncWima}.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
340
\subsubsection{What's the Mission Section and how to use it}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
341
\label{sec:settingsSection}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
342
The mission section (see \cref{fig:missionSection}) is mostly used to partition the flight plan generated with \wima plan view (see \cref{sec:wimaPlanView}). Additional speed and altitude can be adjusted from here. This gives the possibility to work through large flight plans (containing thousands of way-points) in a step wise manner.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
343
\subsubsection{How to show the Mission Items}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
344
The mission items can be made visible/invisible by checking/unchecking the \verb|Show Mission| check box (see \cref{fig:missionSection}). An example can be seen in \cref{fig:showAllCurrent} and \cref{fig:showAll}. The mission items consist of all items generated inside \wima plan view without the AaR path (see \cref{sec:AaR}).
Valentin Platzgummer's avatar
Valentin Platzgummer committed
345
\subsubsection{How to show the current Phase}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
346
The current mission items can be made visible/invisible by checking/unchecking the \verb|Show Phase| check box (see \cref{fig:missionSection}). An example can be seen in \cref{fig:showAllCurrent} and \cref{fig:showCurrent}. 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368
\begin{figure*}
	\centering
	\begin{subfigure}[t]{0.3\textwidth}
		\includegraphics[width=0.895\textwidth]{pics/showAllCurrent}
		\centering
		\caption{Mission items (gray) and current phase (green) overlayed.}
		\label{fig:showAllCurrent}
	\end{subfigure}
	\begin{subfigure}[t]{0.3\textwidth}
		\includegraphics[width=0.9\textwidth]{pics/showAll}
		\centering
		\cprotect\caption{Mission items only (\verb|Show Phase| unchecked).}
		\label{fig:showAll}
	\end{subfigure}
	\begin{subfigure}[t]{0.3\textwidth}
		\includegraphics[width=0.845\textwidth]{pics/showCurrent}
		\centering
		\cprotect\caption{Current phase only (\verb|Show Mission| unchecked).}
		\label{fig:showCurrent}
	\end{subfigure}
	\caption{Mission Items displayed on the flight map.}
\end{figure*}  
Valentin Platzgummer's avatar
Valentin Platzgummer committed
369

Valentin Platzgummer's avatar
Valentin Platzgummer committed
370
\subsubsection{What's the AaR Path}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
371
\label{sec:AaR}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
372 373 374
The abbreviation AaR means arrival and return and refers to the way-points which are not part of the actual measuring process. Those way-points are used to guide the UAV from service area to measurement area, hence the name.
\subsubsection{Whats a Mission Phase}
\label{sec:missionPhase}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
375
A mission phase refers to a partition of the mission items (see \cref{fig:showAll}). An example of a partion can be seen in \cref{fig:showAllCurrent} and \cref{fig:showCurrent} (green way-points). 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
376
\subsubsection{How to partition a flight plan}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
377 378
The flight plan generated with the \wima plan view can be partitioned using the \verb|Next| \verb|Waypoint|, \verb|Max Waypoints|, and the \verb|Overlap| input boxes and the \verb|Reset Phase|, \verb|Reverse|, and \verb|Forward| button (see \cref{fig:missionSection}). The entry of the \verb|Next Waypoint| corresponds starting point of the next phase. The numbering is related to the mission items. Using the  \verb|Go Forward| or \verb|Go Reverse| buttons increases or decreases the \verb|Next Waypoint| value respectively (see \cref{sec:goForwardReverse} for details). Manually editing the \verb|Next Waypoint| value sets the first point of the current phase to the way-point of the mission item with the entered number. The number of maximum way-points per phase (AaR path excluded) can be set with the \verb|Max Waypoints| input box.
\subsubsection{What's the Overlap}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
379 380
\label{sec:Overlap}
The \verb|Overlap| it a the number of way-points two consecutive phases have in common. E.g. if the \verb|Overlap| $=2$ and the last two way-points of phase $n$ are 10 and 11, phase $n+1$ will start with way-points 10 and 11 (AaR path not included).
Valentin Platzgummer's avatar
Valentin Platzgummer committed
381
\subsubsection{What are the Go Reverse and Go Forward buttons for}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
382
\label{sec:goForwardReverse}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
383
The \verb|Go Forward| or \verb|Go Reverse| buttons are used to proceed to the next phase. The following notation will be used: the index of the first waypoint of Phase $n$ is denoted by $i^s_n$ and the index of the  last way-point by $i^e_n$. The positive scalars $\Delta$ and $N$ denote the \verb|Overlap| (see \cref{sec:Overlap}) and the maximum number of way points per phase (\verb|Max Waypoints|, see \cref{fig:missionSection}). The \verb|Go Forward| button sets start index of the next of Phase ($n+1$) to  $i^s_{n+1} = i^e_{n}-\Delta+1$ and the end index of Phase $n+1$ to $i^e_{n+1} = i^s_{n+1}+N-1$. A very similar result is delivered by the \verb|Go Reverse| button. It sets the start index of the next of Phase ($n+1$) to  $i^s_{n+1} = i^s_{n}+\Delta-1$ and the end index of Phase $n+1$ to $i^e_{n+1} = i^s_{n+1}-N+1$. The indices are truncated, if they exceed the boundaries $1$ and $N$.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
384

Valentin Platzgummer's avatar
Valentin Platzgummer committed
385
\subsubsection{What is the Reset Phase button for}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
386 387
The reset button sets the start way-point to the first or last mission 
\subsubsection{How to change Mission Flight Speed}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
388
The mission flight speed can be changed by altering the value of the \verb|Mission Speed| input box (see \cref{fig:missionSection}). This affects measurement points only. The AaR path way-point speed can be altered as well (see the following section). 
389 390
\subsubsection{How to change AaR Flight Speed}\label{sec:AaRSpeed}
The AaR (see \cref{sec:AaR}) flight speed can be changed by altering the value of the \verb|AaR Speed| input box (see \cref{fig:missionSection}). This affects AaR path way-points only. The measurement way-point speed can be altered as well (see the previous section). This speed will also be used for smart RTL (see \cref{sec:SRTL}).
Valentin Platzgummer's avatar
Valentin Platzgummer committed
391
\subsubsection{How to change Altitude}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
392
The Altitude can be changed by altering the value of the \verb|Altitude| input box (see \cref{fig:missionSection}). This value affects AaR path and measurement points.
393
\subsubsection{Can I invert/reverse a Phase}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
394
\label{sec:invert}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
395
A phase can be inverted by checking the \verb|Invert Phase| check box (see. \cref{fig:missionSection}).
Valentin Platzgummer's avatar
Valentin Platzgummer committed
396
\subsubsection{What's the Vehicle Section and how to use it}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
397
The vehicle section (see \cref{fig:vehicleSection}) is used to upload and clear the vehicle mission. Additionally this section contains the interface to trigger a smart return to launch. 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
398
\subsubsection{How to upload and clear mission}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
399
Missions can be uploaded and clear using the \verb|Upload| and \verb|Remove| buttons (see. \cref{fig:vehicleSection}). During upload a green progress button will be displayed. After success the text \verb|Done| will be displayed. An error message will be displayed otherwise. Successfull uploaded mission items will be colored orange.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
400
\subsubsection{What's Smart Return to Launch}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
401
\label{sec:SRTL}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
402
Most return to launch (RTL) implementations choose the direct way from the vehicles current to it's takeoff position as a return path. \wima's smart RTL algorithms chooses a return path based on the save area defined by the user (see \cref{sec:wimaAreas}). A smart RTL can be triggered by pressing the \verb|Smart RTL| button. As a security measure pressing this button the user will asked to confirm the action (see \cref{fig:smartRTLconfirmStart}). After confirmation the vehicle will be paused at it's current position and a return path will be displayed. Again the user is asked for confirmation (see \cref{fig:smartRTLconfirmExecute}). On success the return path will be uploaded and executed.
403
If configured (see \cref{sec:configSRTL}) a smart RTL will be triggered on low battery voltage. The confirmation procedure is the same. The vehicle will return with the speed defined inside the \verb|AaR Speed| input box (see  \cref{sec:AaRSpeed}).
Valentin Platzgummer's avatar
Valentin Platzgummer committed
404 405
\begin{figure*}
	\centering
Valentin Platzgummer's avatar
Valentin Platzgummer committed
406
	\vspace{-5pt}	
Valentin Platzgummer's avatar
Valentin Platzgummer committed
407
	\begin{subfigure}[t]{0.49\textwidth}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
408
		\centering
Valentin Platzgummer's avatar
Valentin Platzgummer committed
409
		\includegraphics[width=0.5\textwidth]{pics/smarRTLGuidedAction1}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
410 411 412
		\caption{After a smart RTL was triggered the user is asked to confirm the action by moving the slider to the right hand side.}
		\label{fig:smartRTLconfirmStart}
	\end{subfigure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
413
	\begin{subfigure}[t]{0.49\textwidth}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
414
		\centering
Valentin Platzgummer's avatar
Valentin Platzgummer committed
415
		\includegraphics[width=0.5\textwidth]{pics/smarRTLGuidedAction2}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
416 417 418 419
		\caption{The user is asked to confirm the calculated return path.}
		\label{fig:smartRTLconfirmExecute}
	\end{subfigure}
	\caption{Confirmation process of a smart RTL.}
420
	\vspace{-5pt}	
Valentin Platzgummer's avatar
Valentin Platzgummer committed
421
\end{figure*} 
Valentin Platzgummer's avatar
Valentin Platzgummer committed
422
\subsubsection{How to configure Smart Return to Launch on low Battery.}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
423
\label{sec:configSRTL}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
424
The smart RTL on low battery can be configured under general settings (see. \cref{fig:smartRTLconfig}).
Valentin Platzgummer's avatar
Valentin Platzgummer committed
425 426
\begin{figure*}
	\centering
427
	\vspace{0pt}	
Valentin Platzgummer's avatar
Valentin Platzgummer committed
428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443
	\begin{subfigure}[t]{0.49\textwidth}
		\centering
		\includegraphics[width=0.3\textwidth]{pics/qgcSettings}
		\caption{Click the gear logo followed by the QGC logo to enter QGC settings.}
		\label{fig:qgcSettings}
	\end{subfigure}
	\begin{subfigure}[t]{0.49\textwidth}
		\centering
		\includegraphics[width=0.3\textwidth]{pics/generalSettings}
		\caption{Choose the general settings.}
		\label{fig:generalSettings}
	\end{subfigure}
	\newline
	\begin{subfigure}[t]{0.6\textwidth}
		\centering
		\includegraphics[width=0.8\textwidth]{pics/wimaSettings}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
444
		\cprotect\caption{The battery threshold (in percentage) below which smart RTL will be initiated can be set by altering the value of the \verb|Low Battery Threshold| input box. The low battery handling can be enabled/disabled by checking/unchecking the \verb|Enable low battery handling| check box.}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
445 446 447
		\label{fig:wimaSettings}
	\end{subfigure}
	\caption{How to configure \wima smart RTL.}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
448
	\label{fig:smartRTLconfig}
449
	\vspace{-5pt}	
Valentin Platzgummer's avatar
Valentin Platzgummer committed
450 451
\end{figure*} 
\subsubsection{What's the Statistics Section and how to use it}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
452
The statistics section is the last section of the \wima menu (see \cref{fig:statisticsSection}). It shows the length of the current mission (phase) and the estimated flight time, based on the mission speed.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
453 454
\begin{figure*}[ht!]
	\centering
455
	\vspace{0pt}	
Valentin Platzgummer's avatar
Valentin Platzgummer committed
456
	\begin{subfigure}[t]{0.3\textwidth}		
Valentin Platzgummer's avatar
Valentin Platzgummer committed
457 458 459 460 461
		\includegraphics[width=0.95\textwidth]{pics/missionSection}
		\centering
		\caption{The mission section of the \wima menu.}
		\label{fig:missionSection}
	\end{subfigure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
462 463 464 465 466
	\begin{subfigure}[t]{0.3\textwidth}		
		\includegraphics[width=0.95\textwidth]{pics/vehicleSection}
		\centering
		\caption{The vehicle section of the \wima menu.}
		\label{fig:vehicleSection}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
467
	\end{subfigure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
468 469 470 471 472
	\begin{subfigure}[t]{0.3\textwidth}		
		\includegraphics[width=0.95\textwidth]{pics/statisticsSection}
		\centering
		\caption{The statistics section of the \wima menu.}
		\label{fig:statisticsSection}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
473
	\end{subfigure}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
474
	\caption{The different sections of the \wima menu.}
475
	\vspace{-5pt}	
Valentin Platzgummer's avatar
Valentin Platzgummer committed
476 477
\end{figure*}
\subsubsection{I can't find the \wima Menu}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
478
See the introduction of \cref{sec:wimaFlightView}.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
479 480

\newpage
Valentin Platzgummer's avatar
Valentin Platzgummer committed
481
\section{Useful third party Software}
482
\subsection{ArduPilot Simulator}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
483
For tasks like debugging, program verification or flight plan testing a UAV simulator can be very useful. It can save time, money.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
484

485
For this task the ArduPilot simulator can be used. It simulates a vehicle running the ArduPilot flight stack (firmware) on your local machine. Data is being published by the simulator via UDP and should ideally connect to \qgc without any further tweaks.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
486 487

The simulator is part of the ArduPilot project, which can be downloaded from Github: \url{https://github.com/ArduPilot/ardupilot}.
488
It is recommended to fork the repository. After cloning the repository, the sub-modules must be initialized and updated. Execute the following code to do this.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
489 490 491 492 493 494 495 496
\begin{shaded*}
	\begin{verbatim}
		git clone https://github.com/ArduPilot/ardupilot
		cd ardupilot
		git submodule init
		git submodule update
	\end{verbatim}	
\end{shaded*}
Valentin Platzgummer's avatar
Valentin Platzgummer committed
497
The simulator is launched by a Python script, thus Python must be installed on your machine. The simulator can be launched from your ArduPilot root directory with the following command.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
498 499 500
\begin{shaded*}
	\begin{verbatim}
		./Tools/autotest/sim_vehicle.py -v ArduCopter
501
	\end{verbatim}	
Valentin Platzgummer's avatar
Valentin Platzgummer committed
502
\end{shaded*}
503
On success the vehicle should appear inside \qgc. The \verb|-v| option specifies the vehicle type. The \verb|-l| and \verb|-L| option can be used to define a custom start location. With the \verb|-L|  option predefined locations inside \verb|ardupilot_root/Tools/autotest/locations.txt| can be used. \verb|-S| option increases the simulation speed. See the \verb|sim_vehicle.py --help| option for further information.
Valentin Platzgummer's avatar
Valentin Platzgummer committed
504 505 506 507 508 509

 




Valentin Platzgummer's avatar
Valentin Platzgummer committed
510
\end{document}