summaryrefslogtreecommitdiffstats
path: root/Dokument/Designspec/events
diff options
context:
space:
mode:
authorGustav Sörnäs <gusso230@student.li.se>2019-10-21 01:38:03 +0200
committerGustav Sörnäs <gusso230@student.li.se>2019-10-21 01:38:03 +0200
commit9726ecfb8f89d884b14ea582eb821cad98e3147d (patch)
tree13d7022db5d8d7a56b6dfc535f8e2c68716dca44 /Dokument/Designspec/events
parent13f22ba6b4a6e530be779ef96d71850e767e9366 (diff)
parent5acbd469abbd225ba242d7cd847297d53655e539 (diff)
downloadtfyy51-9726ecfb8f89d884b14ea582eb821cad98e3147d.tar.gz
Merge branch 'DesignSpec'
Diffstat (limited to 'Dokument/Designspec/events')
-rw-r--r--Dokument/Designspec/events/kalibrering.tex23
-rw-r--r--Dokument/Designspec/events/manuell.tex5
-rw-r--r--Dokument/Designspec/events/missade-givare.tex11
-rw-r--r--Dokument/Designspec/events/off-circuit.tex11
-rw-r--r--Dokument/Designspec/events/olika-bilar.tex4
-rw-r--r--Dokument/Designspec/events/start.tex7
-rw-r--r--Dokument/Designspec/events/warmup.tex12
7 files changed, 73 insertions, 0 deletions
diff --git a/Dokument/Designspec/events/kalibrering.tex b/Dokument/Designspec/events/kalibrering.tex
new file mode 100644
index 0000000..8cd28c4
--- /dev/null
+++ b/Dokument/Designspec/events/kalibrering.tex
@@ -0,0 +1,23 @@
+För att optimera bilarnas körning och varvtid kommer bilarna behöva kalibreras.
+Enligt kravsspecifikationens punkt 22 får det inte köras fler än 5
+kalibreringsvarv innan kraven 20 och 21 måste vara uppfyllda.
+
+Kalibreringsvarven behöver ta hänsyn till tre moment. Det första är att
+identifiera vilken konstant en bil behöver, det andra är att optimera för
+gemensam varvtid och det tredje är att optimera den valda varvtiden.
+
+För att identifiera en bilkonstant börjar programmet med att välja den lägsta
+spänningen som är möjlig vid starten. Efter första givaren är det möjligt att
+räkna ut hastigheten samt ta fram en begynnelsekonstant för första segmentet
+som kan användas för uppskattning av position. Det är också möjligt att se om
+bilen ligger efter eller kör enligt tid genom att jämföra med tidigare mätdata.
+Om bilen ligger efter kommer spänningen ökas succesivt tills bilen har nått den
+önskade tiden mellan segmenten för att uppnå önskad varvtid. När bilen ligger i
+fas kan den konstant som krävs för den nuvarande bilen räknas ut.
+
+Under kalibreringsvarven är det också viktigt att anpassa båda bilarnas varvtid
+mot varandra. Om båda bilarna har en varvtid som är långsammare än den
+förväntade hastigheten ska programmet optimera för en gemensam varvtid före den
+valda varvtiden. Med funktioner ska programmet också kunna optimera för både
+gemensam och vald varvtid.
+
diff --git a/Dokument/Designspec/events/manuell.tex b/Dokument/Designspec/events/manuell.tex
new file mode 100644
index 0000000..a06c43a
--- /dev/null
+++ b/Dokument/Designspec/events/manuell.tex
@@ -0,0 +1,5 @@
+Enligt kravspecifikationens punkt 12 ska det vara möjligt att välja om en bana
+ska köras manuellt eller autonomt. Det ska alltså gå att köra ena banan
+manuellt medan den andra styrs av programmet. Detta styrs via displayen vid
+uppstart.
+
diff --git a/Dokument/Designspec/events/missade-givare.tex b/Dokument/Designspec/events/missade-givare.tex
new file mode 100644
index 0000000..a3aff3e
--- /dev/null
+++ b/Dokument/Designspec/events/missade-givare.tex
@@ -0,0 +1,11 @@
+Enligt krav 3 i kravspecifikationen ska programmet kunna hantera missade givare
+och fortsätta köra som normalt. Med metoden som används blir detta inte ett
+problem. Givarna kommer endast att användas för att justera programmets
+uppfattning om bilarnas position, medan själva positioneringen räknas ut av
+systemet. Om programmet detekterar att en givare inte passeras överhuvudtaget
+när det var förväntat fortsätter systemet köra bilen enligt beräkningar på vart
+bilen borde befinna sig tills nästa givare. Vid passering av nästa givare
+kommer systemet jämföra den uträknade tiden och den faktiska tiden som bilen
+passerade på. Systemet jämför sedan om tiderna är rimliga och avgör därefter om
+den tidigare tidsfördröjningen var en missad givare eller något annat.
+
diff --git a/Dokument/Designspec/events/off-circuit.tex b/Dokument/Designspec/events/off-circuit.tex
new file mode 100644
index 0000000..9298182
--- /dev/null
+++ b/Dokument/Designspec/events/off-circuit.tex
@@ -0,0 +1,11 @@
+Enligt kravspecifikationen ska systemet detektera att en bil åkt av banan inom
+10 sekunder. Om systemet inte får en ny givarsignal inom tio sekunder från den
+senaste givaren antas bilen ha fastnat eller åkt av banan och programmet pausas
+tills bilen är på banan igen och användaren trycker på ``fortsätt'' på
+displayen. Med givarnas förväntade tidspassering ska programmet kunna se att en
+bil inte passerat en givare vid den förväntade tidspasseringen. Har bilen inte
+passerat någon av givarna inom fem sekunder kan programmet öka spänningsnivån
+gradvis som vid start för att kontrollera om bilen har stannat. Efter
+ytterligare 5 sekunder ska programmet pausas och displayen skriva ut att bilen
+har åkt av banan.
+
diff --git a/Dokument/Designspec/events/olika-bilar.tex b/Dokument/Designspec/events/olika-bilar.tex
new file mode 100644
index 0000000..4c53011
--- /dev/null
+++ b/Dokument/Designspec/events/olika-bilar.tex
@@ -0,0 +1,4 @@
+Enligt kravspecifikation punkt 7 ska programmet automatiskt hantera de olika
+bilarna som finns. Lösningen är att varje bil ska tilldelas en egen konstant
+som är specifik för varje bil. Konstanten är framtagen genom en funktion som
+gör beräkningar både för bilens variabel samt eventuellt drifsfall.
diff --git a/Dokument/Designspec/events/start.tex b/Dokument/Designspec/events/start.tex
new file mode 100644
index 0000000..5a5beeb
--- /dev/null
+++ b/Dokument/Designspec/events/start.tex
@@ -0,0 +1,7 @@
+Vid start ska systemet hitta en spänningsnivå tillräckligt hög för att bilen
+ska börja rulla men inte så hög att den åker av banan i första kurvan. I början
+ska därför spänningen öka lite i taget tills bilen passerat målgivaren. När
+bilen passerat målgivaren bibehålls spänningsnivån tills nästa givare passeras.
+Då kan programmet göra beräkningar för en inledande konstant för bilen och det
+vanliga systemet kan ta vid och kontrollera bilens förväntade position mot dess
+uträknade position.
diff --git a/Dokument/Designspec/events/warmup.tex b/Dokument/Designspec/events/warmup.tex
new file mode 100644
index 0000000..ef4d989
--- /dev/null
+++ b/Dokument/Designspec/events/warmup.tex
@@ -0,0 +1,12 @@
+Enligt kravspecifikations punkt 8 ska programmet hantera olika typer av
+driftsfall såsom kall samt varm bana. Metoden för att lösa detta problem är att
+programmet automatiskt justerar bilens körning för olika typer av driftsfall.
+
+
+Programmet ska kunna identifiera förändringar i snitthastighet per segment och
+varvtid (även om programmet ger ut samma spänning). Detta kan bero på
+temperaturförändring i banan. Då systemet identifierat dessa förändringar ska
+programmet automatiskt justera en konstant (car\_constant, se
+sektion~\ref{sec:system_a_funcs}) som korrigeras succesivt tills bilen ligger
+på vald referenstid.
+