summaryrefslogtreecommitdiffstats
path: root/Dokument/Teknisk Dokumentation
diff options
context:
space:
mode:
authorGustav Sörnäs <gusso230@student.liu.se>2019-12-01 17:11:48 +0100
committerGustav Sörnäs <gusso230@student.liu.se>2019-12-01 17:12:00 +0100
commit5d6a40d50e078d928a8568bb78e01bcbcc95bbd6 (patch)
treea8b8672fcd5c13bf92a81eb41044c592fa320358 /Dokument/Teknisk Dokumentation
parent30ee810bf9abac962ea29eb6537b4fc0d0f235db (diff)
downloadtfyy51-5d6a40d50e078d928a8568bb78e01bcbcc95bbd6.tar.gz
Lägg till systembeskrivning
Diffstat (limited to 'Dokument/Teknisk Dokumentation')
-rw-r--r--Dokument/Teknisk Dokumentation/text/02-system.tex53
1 files changed, 53 insertions, 0 deletions
diff --git a/Dokument/Teknisk Dokumentation/text/02-system.tex b/Dokument/Teknisk Dokumentation/text/02-system.tex
index 379a847..d2b7266 100644
--- a/Dokument/Teknisk Dokumentation/text/02-system.tex
+++ b/Dokument/Teknisk Dokumentation/text/02-system.tex
@@ -1 +1,54 @@
\section{Begrepp och systemöversikt}
+
+Runt om bilbanan finns 9 sensorer (kallade ''givare´´) som skickar en signal när
+en bil åker under dem. En av dessa givare agerar målgång (kallad ''målgivare´´)
+och skickar en egen signal systemet kan läsa av. Givarna delar naturligt in
+banan i nio delar, kallade ''segment´´. Dessa segment har i sin tur delats in i
+mindre delsegment, kallade ''subsegment´´. Banan består av totalt 80 subsegment.
+För vardera bana och subsegment har ett värde på önskad spänningstillförsel till
+banan tagits fram. Detta värde varierar dels eftersom bilarna vid olika delar av
+banan behöver olika mycket spänningstillförsel för samma hastighet och dels
+eftersom bilarna vid vissa delar av banan inte kan åka lika snabbt som vid andra
+delar av banan.
+
+Värden som är relevanta för styrningen av vardera bara är i systemet sparad i
+två så kallade \emph{structs} med samma struktur. Att de båda banorna beskrivs
+av samma typ av objekt gör att funktionerna (som beskrivs nedan) kan utformas
+oberoende av vilken bana det är de hanterar. Dessa variabler hänvisas till som
+\texttt{car.value}. Om två bilar körs finns det således två värden sparade för
+varje variabel som är specifierad nedan, en för bana 1 och en för bana 2.
+
+\begin{itemize}
+
+\item \texttt{car.num} - Om bilen är på bana ett eller två.
+\item \texttt{car.running} - Om bilen körs eller inte.
+\item \texttt{car.stopping} - Om bilen för tillfället letar efter ett ställe att stanna på.
+\item \texttt{car.stopped} - Om bilen har hittat ett ställe att stanna på.
+\item \texttt{car.automatic} - Om bilen ska köras autonomnt.
+\item \texttt{car.segment} - Bilens nuvarande segment.
+\item \texttt{car.lap} - Bilens nuvarande varv.
+\item \texttt{car.lap\_times} - En lista över bilens varvtider.
+\item \texttt{car.seg\_times} - En matris över bilens segmentstider per varv.
+\item \texttt{car.position} - Bilens position i meter efter målgivaren.
+\item \texttt{car.pos\_at} - En lista över hur långt det är kvar till målgivaren från de olika segmenten.
+\item \texttt{car.seg\_len} - En lista över längden för varje segment.
+\item \texttt{car.percents} - En lista över hur stor andel av varvtiden varje segment förväntas ta.
+\item \texttt{car.map} - Kartan över alla subsegment och önskad spänningstillförsel.
+\item \texttt{car.miss\_probability} - Sannolikheten att bilen vid en given givare inte får en signal. Används för att testa krav 3.
+\item \texttt{car.constant} - Multipliceras med den önskade spänningstillförseln för att
+ kompensera för olika bilars olika påverkan av samma spänningstillförsel.
+
+\end{itemize}
+
+
+Utöver dessa värden sparas ett antal värden för själva systemet.
+
+\begin{itemize}
+
+ \item \texttt{display.data} - En kö av kommandon som ska skickas till displayen.
+ \item \texttt{bootN.status} - Om den så kallade "bootstrapen" (se REF) är aktiv för bana N.
+ \item \texttt{halt} - Om någon av bilarna åkt av och användaren valt att avbryta körningen.
+ \item \texttt{t} - Hur lång tid den nuvarande programcykeln tagit.
+ \item \texttt{highToc} - Längden på den längsta programcykeln. Används för att kontrollera krav 31.
+
+\end{itemize}