summaryrefslogtreecommitdiffstats
path: root/Dokument/Teknisk Dokumentation/text
diff options
context:
space:
mode:
authorAlbin <albwa833@student.liu.se>2019-12-02 14:34:28 +0100
committerAlbin <albwa833@student.liu.se>2019-12-02 14:34:28 +0100
commit88d5d5f561d007902cda8661c02a067a65a9cfb1 (patch)
tree12e34cdec653ffcee7215bef75c807a703d5fb7e /Dokument/Teknisk Dokumentation/text
parent768a3bcf62dc65005857ff61cc3e0dd9d974b919 (diff)
downloadtfyy51-88d5d5f561d007902cda8661c02a067a65a9cfb1.tar.gz
position
Diffstat (limited to 'Dokument/Teknisk Dokumentation/text')
-rw-r--r--Dokument/Teknisk Dokumentation/text/system/03-korning.tex26
1 files changed, 12 insertions, 14 deletions
diff --git a/Dokument/Teknisk Dokumentation/text/system/03-korning.tex b/Dokument/Teknisk Dokumentation/text/system/03-korning.tex
index aa8fa25..129961f 100644
--- a/Dokument/Teknisk Dokumentation/text/system/03-korning.tex
+++ b/Dokument/Teknisk Dokumentation/text/system/03-korning.tex
@@ -12,28 +12,26 @@ sedan motsvarande hastighetsparameter (\texttt{car.v}) och därefter det gaspåd
\subsubsection{Position}
\label{sec:system:korning:position}
-Det finns två fall när positionen ska beräknas. När en givare har passerats och
-när en givare inte har passerats. Under första varvet hanteras endast det första fallet
-och från varv 2 och frammåt görs båda paralellt.
+Det finns två fall när positionen ska beräknas. När en givare har passerats sedan förra positionsberäkningen och när ingen givare har passerats. Under första varvet hanteras endast det första fallet
+och från varv 2 och frammåt görs båda parallellt.
Om en ny givare har passerats, \texttt{car.new\_check\_point == true}, ökar
programmet nuvarande segment (\texttt{car.segment}) med 1. \texttt{car.segment}, som
alltid ligger mellan 1 och 9, används som index för att välja position i en
-lista (\texttt{car.pos\_at}).
+lista (\texttt{car.pos\_at}). Vi kallar den positionen för \emph{givarpositionen}.
-Om ingen givare har passerars och bilen har avslutat första varvet, alltså
-oftast, görs lite mer avancerade beräkningar. För att beräkna positionen
-använder proggrammet först en funktion \texttt{get\_aprox\_v}. Denna utgår ifrån
+Om ingen givare har passerars och första varvet är avslutat kallas först på funktionen \texttt{get\_approx\_v()}. Denna utgår ifrån
förra varvets segmentstider (\texttt{car.seg\_times}) och segmentslängder
-(\texttt{car.seg\_len}) och beräknar med $v = \frac{s}{t}$ medelhastigheten för nuvarnade
-segment, men förra varvet. Denna antas vara ungefär samma sak som nuvarande
-hastiget.
+(\texttt{car.seg\_len}) och beräknar med $v = \frac{s}{t}$, där \texttt{s} är segmentslängden och \texttt{t} segmentstiden, \texttt{v} som är medelhastigheten för nuvarnade
+segment, men förra varvet. Denna antas vara ungefär samma som nuvarande
+hastiget och kallas \emph{car.v}.
-Sedan beräknas den fakiska positionen, i meter från målgivaren, med funktionen
-\texttt{get\_position}. Den använder den ungefärliga hastigheten beräknad av
-\texttt{aprox\_v} och tiden sedan denna beräkning gjordes senast (en programcykel)
+Sedan beräknas positionen, i meter från målgivaren, med funktionen
+\texttt{get\_position()}. Den använder den ungefärliga hastigheten \texttt{v} beräknad av
+\texttt{approx\_v()} och tiden \texttt{t} sedan denna beräkning gjordes senast (en programcykel, se \ref{sec:system:korning:cykel})
och beräknar med $s = v \cdot t$ den sträcka som bilen har åkt. Sedan adderas denna
-med förra kända postionen och retuneras i \texttt{car.position}.
+med förra kända postionen och returneras i \texttt{car.position}. Denna
+\emph{beräknade} position tas också fram när en givare har passerats, då skrivs den över med \emph{givarpositionen} men används i stället för att detektera missade givare. Se \ref{sec:missade givare}.
\subsubsection{Gaspådrag}