diff options
| author | Gustav Sörnäs <gusso230@student.liu.se> | 2019-12-01 17:11:48 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gusso230@student.liu.se> | 2019-12-01 17:12:00 +0100 |
| commit | 5d6a40d50e078d928a8568bb78e01bcbcc95bbd6 (patch) | |
| tree | a8b8672fcd5c13bf92a81eb41044c592fa320358 /Dokument/Teknisk Dokumentation/text | |
| parent | 30ee810bf9abac962ea29eb6537b4fc0d0f235db (diff) | |
| download | tfyy51-5d6a40d50e078d928a8568bb78e01bcbcc95bbd6.tar.gz | |
Lägg till systembeskrivning
Diffstat (limited to 'Dokument/Teknisk Dokumentation/text')
| -rw-r--r-- | Dokument/Teknisk Dokumentation/text/02-system.tex | 53 |
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} |
