summaryrefslogtreecommitdiffstats
path: root/Dokument/Teknisk Dokumentation/appendix
diff options
context:
space:
mode:
Diffstat (limited to 'Dokument/Teknisk Dokumentation/appendix')
-rw-r--r--Dokument/Teknisk Dokumentation/appendix/01-handhavande.tex95
-rw-r--r--Dokument/Teknisk Dokumentation/appendix/02-funktion.tex44
-rw-r--r--Dokument/Teknisk Dokumentation/appendix/03-material.tex18
3 files changed, 118 insertions, 39 deletions
diff --git a/Dokument/Teknisk Dokumentation/appendix/01-handhavande.tex b/Dokument/Teknisk Dokumentation/appendix/01-handhavande.tex
index 668a1c3..de4e580 100644
--- a/Dokument/Teknisk Dokumentation/appendix/01-handhavande.tex
+++ b/Dokument/Teknisk Dokumentation/appendix/01-handhavande.tex
@@ -1,24 +1,85 @@
\section{Handhavande}
\label{app:handhavande}
-Starta Matlab 2015b. Observera att användaren måste använda datorn som finns
-inne i bilbanerummet och som är inkopplade till bilbanan. Inne i Matlab ska användaren navigera sig till ''Kod'' mappen (som finns tillgängliga för alla i projektet). Börja med att högerklicka på mappen ''Kod'' och välj alternativet ''Add To Path''. Klicka på ''Select Folders And Subfolders'' som dyker upp när musen pekar på ''Add To Path''. Därefter expandera bilbana mappen följt av yc4 mappen. Öppna sedan main.m och starta systemet genom att klicka på Run i Editorn i Matlab.
-Därefter välj vilka banor som ska köras via den externa touch displayen. Justera också referenstiden genom att klicka på plusstecknet eller minustecknet (notera att referenstiden ändras med 0.5 s intervall). Kryssa även i om någon av banorna ska köras manuellt. Starta genom att trycka på knappen nere i det högra hörnet på displayen. Observera att bilarna måste placeras några decimeter innan målgivaren före start.
+Ladda ner och packa upp projektets kod till en mapp på datorn som är inkopplad i
+bilbanan. Starta Matlab (2015b), navigera till mappen och öppna den.
+Navigera till mappen \texttt{Kod} och lägg till alla dess undermappar till Matlabs
+sökväg genom att högerklicka på dem och välja ''Add To Path'' \textrightarrow
+''Select Folders and Subfolders''. Öppna filen \texttt{main.m} men se till att
+Matlabs utforskare i vänstermenyn står kvar i mappen \texttt{Kod}. Klicka på
+den gröna play-knappen \texttt{Run}.
-När programmet ska avslutas klickar användaren i kommentar fönstret i Matlab och
-klickar på q om bilen ska stanna direkt. Om användaren istället vill att
-bilen/bilarna ska stanna precis innan målgivaren klickar användaren på s
-(observera att detta fungerar endast efter varv ett).
+% Starta Matlab 2015b. Observera att användaren måste använda datorn som finns
+% inne i bilbanerummet och som är inkopplade till bilbanan. Inne i Matlab ska
+% användaren navigera sig till ''Kod'' mappen (som finns tillgängliga för alla i
+% projektet). Börja med att högerklicka på mappen ''Kod'' och välj alternativet
+% ''Add To Path''. Klicka på ''Select Folders And Subfolders'' som dyker upp när
+% musen pekar på ''Add To Path''. Därefter expandera bilbana mappen följt av yc4
+% mappen. Öppna sedan main.m och starta systemet genom att klicka på Run i
+% Editorn i Matlab.
-När programmet avslutas finns möjligheterna att se varvtiden/varvtiderna,
-segmentstiden/segmentstiderna samt att avsluta. Detta väljs utifrån de tre
-knapparna längst ner på displayen. Dessa knappar är Varv för att se varvtid,
-Segment för att se segmentstider. Samt knappen Avsluta.
+Ställ en eller två bilar på valfri bana mellan 10 och 20 centimeter framför
+målgivaren. Den exakta positionen är inte så noga, se bara till att bilen inte
+fastnar mellan två bandelar eller står precis under själva givaren.
-Om knappen Varv väljs kommer information såsom ''target'' vilket är vald varvtid.
-“mean” som är genomsnittlig varvtid och “stdev” är standardavvikelsen. För att
-se varvtiden för den andra banan klicka på knappen uppe i högra hörnet.
+Välj sedan via den externa touchdisplayen vilka banor som ska vara aktiva, om de
+ska köras i manuellt eller autonomnt läge och vilken referenstid som önskas.
+Att välja banor sker genom att aktivera eller avaktivera de olika knapparna och
+referenstiden ändras med steg om 0,5 sekunder med knapparna märkta \texttt{+}
+och \texttt{-}. Starta sedan banan genom att trycka på \texttt{S}.
-Om programmet kraschar öppna main.m. Därefter skriv in
-ctrl och enter i avgränsningen som heter ''\%\% END OF RACE'' som finns i slutet av
-koden main.m.
+% Därefter välj vilka banor som ska köras via den externa touch displayen.
+% Justera också referenstiden genom att klicka på plusstecknet eller
+% minustecknet (notera att referenstiden ändras med 0.5 s intervall). Kryssa
+% även i om någon av banorna ska köras manuellt. Starta genom att trycka på
+% knappen nere i det högra hörnet på displayen. Observera att bilarna måste
+% placeras några decimeter innan målgivaren före start.
+
+För att avsluta, tryck antingen på \texttt{q} eller \texttt{s} på datorns
+tangentbord. Om \texttt{q} trycks ner stannar programmet direkt och om
+\texttt{s} trycks ner stannar systemet de aktiva bilarna var för sig när de
+befinner sig strax innan målgivaren. Observera att att stoppa systemet med
+\texttt{s} inte rekommenderas om minst en bil körs manuellt.
+
+% När programmet ska avslutas klickar användaren i kommentar fönstret i Matlab
+% och klickar på q om bilen ska stanna direkt. Om användaren istället vill att
+% bilen/bilarna ska stanna precis innan målgivaren klickar användaren på s
+% (observera att detta fungerar endast efter varv ett).
+
+När körningen avslutats går det att se varvtider och genomsnittliga
+segmentstider på touchdisplayen. Tryck på \texttt{Varv} för att se varvtider för
+en av bilarna. Om två bilar kördes går den andra bilens varvtid att se genom att
+trycka på \texttt{Byt bil}. Oavsett vilken bil som visas syns vald referenstid,
+genomsnittlig varvtid och standardavvikelse för båda bilarna under grafen. För
+att se genomsnittliga segmentstider, tryck på \texttt{Segment}. Om båda bilarna
+var aktiva visas de två bilarnas värden sida vid sida per segment där bana 1 är
+till vänster och bana 2 är till höger. Om någon av bilarna kördes manuellt
+kommer statistik visas för den bilen också.
+
+% När programmet avslutas finns möjligheterna att se varvtiden/varvtiderna,
+% segmentstiden/segmentstiderna samt att avsluta. Detta väljs utifrån de tre
+% knapparna längst ner på displayen. Dessa knappar är Varv för att se varvtid,
+% Segment för att se segmentstider. Samt knappen Avsluta.
+%
+% Om knappen Varv väljs kommer information såsom ''target'' vilket är vald varvtid.
+% “mean” som är genomsnittlig varvtid och “stdev” är standardavvikelsen. För att
+% se varvtiden för den andra banan klicka på knappen uppe i högra hörnet.
+
+Om olyckan är framme kan programmet krascha. Vanligtvis räcker det med att
+tvinga körningen av programmet att stanna och att återställa koden som styr
+bilbanan. Detta görs genom att först trycka \texttt{CTRL+C} i Matlab och sedan
+skriva följande rader i Matlabs kommandorad.
+
+\begin{verbatim}
+terminate(1);
+terminate(2);
+matlabclient(3);
+\end{verbatim}
+
+Om systemet fortfarande inte fungerar som det ska kan det hjälpa att starta båda
+banorna i manuellt läge och köra något varv på vardera bana för att
+''nollställa'' givarna och systemet. Om systemet fortfarande inte fungerar
+rekommenderas användaren starta om datorn.
+
+% Om programmet kraschar öppna main.m. Därefter skriv in ctrl och enter i
+% avgränsningen som heter ''\%\% END OF RACE'' som finns i slutet av koden main.m.
diff --git a/Dokument/Teknisk Dokumentation/appendix/02-funktion.tex b/Dokument/Teknisk Dokumentation/appendix/02-funktion.tex
index b6738ad..eaca1f0 100644
--- a/Dokument/Teknisk Dokumentation/appendix/02-funktion.tex
+++ b/Dokument/Teknisk Dokumentation/appendix/02-funktion.tex
@@ -3,10 +3,10 @@
\subsection{System}
\label{app:funktioner och filer:system}
-\texttt{choose\_position(position, segment, track, track\_len)} - Körs när en
+\texttt{choose\_position(position, segment, track, track\_len)} - Anropas när en
givare passerats. Gör en bedömning om en givare (eller flera) har missats genom
att kontrollera vilken givare som är närmast den nuvarande uppskattade position
-och kompenserar om en givare bedöms ha missats. Se \ref{sec:missade givare}
+och kompenserar om en givare bedöms ha missats. Se del~\ref{sec:missade givare}
\texttt{clamp(n, m, M)} - En hjälpfunktion som returnerar $n$ om $m < n < M$,
$m$ om $n < m$ och $M$ om $n > M$.
@@ -15,21 +15,27 @@ $m$ om $n < m$ och $M$ om $n > M$.
om position ligger utanför det nuvarande segmentet.
\texttt{do\_boot(car, boot)} - Anropas en gång per programcykel i den så kallade
-boostrap-fasen. Se \ref{sec:systembeskrivning:uppstart} för information.
+boostrap-fasen. Se del~\ref{sec:systembeskrivning:uppstart}.
-\texttt{do\_car(car, t, displa\_data, boot)} - Anropas en gång per programcykel och innehåller ''Inhämtning av data'' och ''Behandling och sparande av data'' i figur \ref{fig:flow}.
+\texttt{do\_car(car, t, display\_data, boot)} - Anropas en gång per programcykel
+och innehåller ''Inhämtning av data'' och ''Behandling och sparande av data'' i
+figur \ref{fig:flow}. Se del~\ref{sec:systembeskrivning:korning}.
\texttt{do\_gov(car)} - Anropas varje gång en givare passerats. Vid målgivaren
jämförs referenstiden och den förra varvtiden och car.constant anpassas efter
differensen mellan dem. Om differensen är högre ändras car.constant mer, och
vice versa om differensen är låg. Vid givare 5 och 8 jämförs referenstiden och
-en uppskattning av hur lång tid det nuvarande varvet troligen kommer ta. Se
-\ref{sec:systembeskrivning:governor} för mer information.
+en uppskattning av hur lång tid det nuvarande varvet troligen kommer ta. Se del~
+\ref{sec:systembeskrivning:governor}.
\texttt{fit\_percents(percents, lap\_time, seg\_times)} - Anropas vid varje nytt
varv. Räknar ut den procentuella tiden varje segment tog det förra varvet och
sparar medelvärdet mellan den förra procentsatsen och den nya, uträknade
+<<<<<<< HEAD
procentsatsen. Procentsatsen normeras sedan så summan är 1 (100 procent).
+=======
+procentsatsen. Procentsatsen normeras sedan så summan är 1 (100\%).
+>>>>>>> Mer tornardoarbete
\texttt{format\_seg\_times(car)} - Anropas när körningen avslutas. Returnerar
den genomsnittliga tiden för varje segment.
@@ -51,27 +57,33 @@ programcykel. Räknar ut hur långt bilen rört sig sedan senaste programcykeln.
% BORT
\texttt{get\_time\_as\_string(millis)} - Omvandlar en mängd millisekunder till
+<<<<<<< HEAD
formatet ''mm:ss.s''. Till exempel omvandlas 1250 ms till "00:01.'' och 11240 till
"00:11.2".
+=======
+formatet "mm:ss.s". Till exempel omvandlas 1250 millisekunder till "00:01.3" och
+11240 millisekunder till "00:11.2".
+>>>>>>> Mer tornardoarbete
\texttt{main.m} - Huvudskriptet som startar hela systemet. Det script som
programmet ligger i. I main.m ligger alla funktioner. Det är denna fil som ska
-startas vid systemuppstart, se \ref{app:handhavande}
+startas vid systemuppstart, se appendix~\ref{app:handhavande}
+
\subsection{Display}
\label{app:funktioner och filer:display}
\texttt{bar\_graph(direction, no, x1, x2, y1, y2, start\_value, end\_value,
-type, pattern)} - Skapar ett stapeldiagram med ett hörn i \texttt{(x1, y1)} och ett
-diagonellt hörn i \texttt{(x2, y2)}. \texttt{direction} är en av 'O', 'U', 'L' och 'R' och
-bestämmer åt vilket håll "upp" är på stapeln. 'O' står för upp ('oben' på
-tyska), 'U' står för ner ('unter'), 'L' står för vänster ('links') och 'R' står
-för höger ('rechts'). Värdet stapeldiagrammet ska visa specifieras med
-\texttt{update\_bar\_graph}. \texttt{start\_value} och \texttt{end\_value}
+type, pattern)} - Skapar ett stapeldiagram med ett hörn i \texttt{(x1, y1)} och
+ett diagonellt hörn i \texttt{(x2, y2)}. \texttt{direction} är en av 'O', 'U',
+'L' och 'R' och bestämmer åt vilket håll "upp" är på stapeln. 'O' står för upp
+('oben' på tyska), 'U' står för ner ('unter'), 'L' står för vänster ('links')
+och 'R' står för höger ('rechts'). Värdet stapeldiagrammet ska visa specifieras
+med \texttt{update\_bar\_graph}. \texttt{start\_value} och \texttt{end\_value}
bestämmer vad som ska vara noll- respektive maxvärde för stapeldiagrammet.
\texttt{no} är stapeldiagrammets nummer och behöver specifieras när
-stapeldiagrammets värde ska uppdateras. \texttt{type} sätts till 0 för en enkel stapel
-och 1 för en stapel inuti en ram.
+stapeldiagrammets värde ska uppdateras. \texttt{type} sätts till 0 för en enkel
+stapel och 1 för en stapel inuti en ram.
\texttt{clear\_display()} - Rensar displayen.
@@ -115,4 +127,4 @@ displayens interna minne och om knappen avaktiveras läggs \texttt{up\_code} i
displayens interna minne.
\texttt{update\_bar\_graph(num, val)} - Skickar värdet \texttt{val} till
-stapeldiagram *num*.
+stapeldiagram \texttt{num}.
diff --git a/Dokument/Teknisk Dokumentation/appendix/03-material.tex b/Dokument/Teknisk Dokumentation/appendix/03-material.tex
index cd266f6..f74ebcf 100644
--- a/Dokument/Teknisk Dokumentation/appendix/03-material.tex
+++ b/Dokument/Teknisk Dokumentation/appendix/03-material.tex
@@ -1,11 +1,17 @@
\section{Material}
-Projektgruppen har av beställaren tillhandahållits ett lab med följande utrustning:
+Projektgruppen har av beställaren tillhandahållits en lokal med nedanstående
+utrustning.
\begin{itemize}
- \item En bilbana med två banor som är utrustad med givare vars funktion är att detektera passerade bilar.
- \item Två datorer.
- \item En display med touchfunktionallitet.
- \item Ett antal bilar.
- \item Handkontroller för manuellkörning av bilarna.
+ \item En strax under 20 meter lång bilbana med två banor, utrustad med givare som
+ skickar en signal när en en bil passerar under dem.
+ \item Två handkontroller för manuell körning av bilbanan.
+ \item Två datorer, den ena inkopplad till banan som kan styra spänningen i de
+ två banorna.
+ \item Kod skriven i Matlab som kan styra vilken spänning som skickas till
+ banan.
+ \item En display med touchfunktionalitet (Electronic Assembly eDIP320J-8LWTP).
+ \item Kod skriven i Matlab som kan tvåvägskommunicera med displayen.
+ \item 13 bilar.
\end{itemize}