summaryrefslogtreecommitdiffstats
path: root/Dokument/Teknisk Dokumentation/text/system/02-uppstart.tex
blob: e8f9f0b179fc5b641fa52162e71ccb4637bac3ea (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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
\subsection{Uppstart} 
\label{sec:systembeskrivning:uppstart}

% Vid autonom körning utgår systemet ifrån en bootstrap som är systemet för
% uppstarten av bilarna. Då körs funktionen \texttt{do\_boot()} som arbetar fram
% en initial \texttt{car.constant}. Detta sker i tre steg. Innan bilen börjar
% rulla höjs \texttt{car.constant} varje 0,7 sekunder. När bilen börjar rulla och
% åker under målgivaren höjs \texttt{car.constant} långsammare tills bilen åkt
% under den första givaren varpå \texttt{car.constant} inte längre ändras. Vid den
% tredje givaren jämförs hur lång tid det senaste segmentet tog att köra och en
% sista \texttt{car.constant} räknas ut som förväntas ge en varvtid på 15
% sekunder. Om den förväntade varvtiden är längre än 15 sekunder höjs
% \texttt{car.constant} och om den förväntade varvtiden är lägre sänks
% \texttt{car.constant}.

Vid autonom körning kör systemet till en början en så kallad ''bootstrap'' vars
funktion är att arbeta fram den initiala konstanten för den aktiva bilen. Detta
sker i tre steg enligt Figur~\ref{fig:bootstrap}. I det första steget står bilen
stilla framför målgivaren och konstanten höjs ofta (varje 0,7 sekunder, $dt_1$ i
figuren) med ett mellanstort värde ($dU_1$ i figuren). När bilen börjar rulla
och passerar målgivaren (\emph{målgivarutslag}) höjs konstanten markant ($dU_2$)
så bilen ska klara den första sträckan av banan. Konstanten höjs sedan med ett
mindre värde ($dU_3$) efter ett längre intervall ($dt_2$) tills bilen passerar
den tredje givaren (\emph{bootstrap slut}). Vid den tredje givaren tar det
ordinarie systemet vid.

\begin{figure}
	\centering
	\begin{tikzpicture}
		\draw 
			(0,0) -- 
			(1,0) --
			(1,1) --
			(2,1) --
			(2,2) --
			(3,2) --
			(3,3) --
			(4,3) --
			(4,5) --
			(7,5) --
			(7,5.5) --
			(10,5.5);
		\draw [dotted] (10, 5.5) -- (14, 5.5);
		\draw [->] (0,0) -- (15, 0) node[right]{$t$};
		\draw [->] (0,0) -- (0, 8) node[above]{Spänning};
		\draw [dotted] (4, 0) -- (4, 0.5) node[right]{Målgivarutslag} -- (4,3);
		\draw [dotted] (10,0) -- (10, 3) node[right]{Bootstrap slut} -- (10, 5.5);
		\draw [decoration={brace, raise=2pt}, decorate] (1,1) -- (2,1);  % dt
		\node at (1.5, 1.5) {$dt_1$};
		\draw [decoration={brace, raise=2pt}, decorate] (1,0) -- (1,1);
		\node at (0.5, 0.5) {$dU_1$};
		\draw [decoration={brace, raise=2pt}, decorate] (4,3) -- (4,5);
		\node at (3.5, 4) {$dU_2$};
		\draw [decoration={brace, raise=2pt}, decorate] (4,5) -- (7,5);
		\node at (5.5, 5.5) {$dt_2$};
		\draw [decoration={brace, mirror, raise=2pt}, decorate] (7,5) -- (7,5.5);
		\node at (7.55,5.25) {$dU_3$};
	\end{tikzpicture}
	\caption{Metod för start av bil.}
	\label{fig:bootstrap}
\end{figure}