diff options
Diffstat (limited to 'Dokument')
5 files changed, 154 insertions, 103 deletions
diff --git a/Dokument/Teknisk Dokumentation/appendix/01-handhavande.tex b/Dokument/Teknisk Dokumentation/appendix/01-handhavande.tex index 40e68f5..93c1c83 100644 --- a/Dokument/Teknisk Dokumentation/appendix/01-handhavande.tex +++ b/Dokument/Teknisk Dokumentation/appendix/01-handhavande.tex @@ -1,21 +1,8 @@ \section{Handhavande} -Proceduren till handhavande för Matlab: - Starta Matlab 2015b. Observera att användaren måste använda datorn som finns -inne i bilbanerummet och som är inkopplade till bilbanan. Väl inne i Matlab -öppna filvägen för hårdisk X: och hitta sökvägen till yc4\_2019. - -Därefter markera och högerklicka på mappen kod och där kommer ett alternativ som -heter Add To Path. Välj sedan 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. +inne i bilbanerummet och som är inkopplade till bilbanan. Inne i Matlab ska användaren navigera sig till yc4 mappen och öppna den. Därefter markera och 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 koden körs i Matlab är dags att starta bilarna detta görs genom att via den -externa touch displayen. Där finns möjligheterna att välja antalet banor som ska -köras samt möjligheten att justera referenstiden. Kryssa även i om någon av -banorna ska köras manuellt. Därefter starta genom att trycka på knappen nere i -det högra hörnet på displayen. +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. 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 @@ -27,10 +14,10 @@ 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 +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 programmet kraschar: 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 +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/05-kravbeskrivning.tex b/Dokument/Teknisk Dokumentation/appendix/05-kravbeskrivning.tex index 93615da..1803e6b 100644 --- a/Dokument/Teknisk Dokumentation/appendix/05-kravbeskrivning.tex +++ b/Dokument/Teknisk Dokumentation/appendix/05-kravbeskrivning.tex @@ -1,128 +1,140 @@ \section{Kravbeskrivning} -Krav 1. Systemet är helt skrivet i matlab. +\begin{requirements} + \requirementno & Programmet är skrivet i Matlab. & Ja \\\hline -Krav 2. Systemet kan startas oavsett bil på banan.. + \requirementno & Systemet går att köra autonomt & Ja \\\hline -Krav 3. Systemet klarar av att missa givare. + \requirementno & Systemet hanterar missade givare. Verifieras dels med en inprogrammerad + inställbar sannolikhet att en given givare hoppas över, dels av beställaren + under BP5. & Ja \\\hline -Krav 4. När ett varv har körts så uppdaterar displayen vilket varv som nyss -genomfördes samt varvtiden. + \requirementno & När ett varv har körts visar displayen varvnummer och varvtid. + & Ja \\\hline -Krav 5. Under programmets gång visas det nuvarande gaspådraget. + \requirementno & Det nuvarande gaspådraget visas kontinuerligt på displayen. & + Ja \\\hline -Krav 6. Efter att programmet avslutats visas information på displyen. + \requirementno & Statistik om körningen visas vid avslutad körning på displayen. + Se REF. & Ja \\\hline -Krav 7. Systemet kan köras oavsett vilken bil som placeras på banan. + \requirementno & Systemet anpassar automatiskt spänningstillförseln beroende på + egenskaperna för bilen och banan. & Ja \\\hline -Krav 8. Programmet hanterar driftsfall genom att kompensera en större eller -mindre styrsignal. + \requirementno & Systemet anpassar automatiskt spänningstillförseln beroende på + egenskaperna för bilen och banan. & Ja \\\hline -Krav 9. Om systemet inte får en nt insignal i form av en passerad givare inom -tio sekunder pausas systemet och användaren får frågan om denne vill fortsätta -eller avsluta. + \requirementno & Om en givare inte passeras inom nio sekunder pausas systemet och + användaren får frågan om programmet ska fortsätta eller avsluta. & Ja \\\hline -Krav 10. Användaren har alternativet att köra en eller båda banorna samt hur -banorna ska köras, autonomnt eller manuellt. Det manuella alternativet uppfyller -inte krav 8 på beslut av beställaren. + \requirementno & Vid uppstart väljer användaren vilken av banorna som ska köras eller om + båda ska köras samtidigt. & Ja \\\hline -Krav 11. Kravet struket från beslut av beställare. + \requirementno & Struket av beställaren. & N/A \\\hline -Krav 12. Tillsammans med frågan om bana ett eller två ska köras frågar -programmet systemet om banan ska köras manuellt eller autonomt. + \requirementno & Vid uppstart väljer användaren om en bana ska köras autonomnt eller + manuellt. Banorna kan köras i alla kombinationer av autonomt och manuellt styre. + & Ja \\\hline -Krav 13. För att starta programmet krävs att man kan öppna matlab och starta -programmet. Därefter kan användaren starta med hjälp av displayen. - -Krav 14. När systemet startar frågar programmet användaren vilka banor som skall -köras samt vilken referenstid de ska ha. + \requirementno & Systemet startas genom att enbart köra filen \texttt{main.m}. + Se REF. & Ja \\\hline -Krav 15. Systemet ställer de frågor till användaren via touch displayen. + \requirementno & Se krav 10 och 12. Delen om gemensam målgång är struken av + beställaren. & Ja \\\hline -Krav 16. Enligt de två givna testerna åkte bilarna inte av banan. + \requirementno & All inmatning vid uppstart sker via displayen. & Ja \\\hline -Krav 17. När programmet startas frågar programmet användaren vilken referenstid -som ska strävas efter, detta görs i ett intervall ]12,15[ med justeringar på 0,5 -sekunder upp eller ner. + \requirementno & På redovisingen åkte bilarna antingen av banan efter ett varv eller + inte alls. & Nej \\\hline -Krav 18. Enligt de två visade körningarna stannade inte bilarna under något -tillfälle. + \requirementno & Referenstiden går att välja på displayen i intervallet 12 till 15 + sekunder med steg om 0,5 sekunder. & Ja \\\hline -Krav 19. + \requirementno & På redovisningen stannade inte bilarna någon gång. & Ja \\\hline -Krav 20. De två testkörningarna resulterade i en standardavvikelse på 0,22 -respektive 0,24. Kravet är delvis uppnått. + \requirementno && \\\hline -Krav 21. De två testkörningarna resulterade i att bilarna överskred gränsen på -0.5 ett fåtal gånger, kravet delvsi uppnått. + \requirementno & På redovisnigen slutfördes två körningar om 15 varv varav fem + kalibreringsvarv. Standardavvikelsen låg på 0,22 sekunder respektive 0,24 + sekunder. & Nej \\\hline -Krav 22. Kraven var delvis uppfyllda efter 5 varv. + \requirementno & Under de två testkörningarna överskreds gränsen om $\pm$ 0,5 sekunder + ett antal gånger. & Nej \\\hline -Krav 23. Kravet struket av beställaren. + \requirementno & Krav 20 och 21 mäter endast varvtider från varv 6 och framåt. & + Ja \\\hline -Krav 24. Resultaten sparades och delades med beställaren via email. + \requirementno & Struket av beställaren. & N/A \\\hline -Krav 25. Efter avslutad körning visas statistik i form av de plottar som önskas -i kravspecifikationen. + \requirementno & Statistik från körningarna vid redovisingen har delats med beställaren + via e-post. & Ja \\\hline -Krav 26. Efter avslutad körning sparas alla data i en fil. + \requirementno & Vid avslutad körning visas grafer över varvtid och genomsnittlig tid + per segment. & Delvis \\\hline -Krav 27. Längre upp i dokumentet beskrivs hur tidtagningen gick till och hur den -validerades. + \requirementno & Vid avslutad körning sparas statistik om körningen i en + \texttt{.mat}-fil. & Ja \\\hline -Krav 28. + \requirementno & Se REF. & \\\hline -Krav 29. Deltagande i projektet har angett den tid de jobbat efter varje moment. + \requirementno & & \\\hline -Krav 30. Handledaren har inte bidragit med hjälp i mer än 25h. + \requirementno & Gruppmedlemmarna har tidsrapporterat under hela projektet och håller + sig på ett ungefär till tidsgränsen. Se externt tidsrapporteringsdokument. & Ja + \\\hline -Krav 31. Efter att programmet avslutas visas den cykel som tog längst tid, då -den inte passerar 0,1 sekunder. + \requirementno & Handledaren har inte bidragit med hjälp i mer än 25h. & Ja \\\hline -Krav 32. Efter två veckor av projektet godkänndes projektplanen. + \requirementno & Vid avslutad körning visas den det längsta mellanrummet mellan två + avläsningar av banan. Se REF. & Ja \\\hline -Krav 33. Under projektvecka fyra godkändes designspecifikationen av beställaren. + \requirementno & Krav 32. Projektplanen var godkänd två veckor efter + beställarmötet. & Ja \\\hline -Krav 34. Under projektvecka fem redovisade projektgruppen kraven 2, 4, 31 samt 25. + \requirementno & Designspecifikationen godkändes under projektvecka 4. & Ja \\\hline -Krav 35. Under projektvecka sju redovisade projektgruppen kraven 3, 5, 10, 17 -samt 18. Även de krav som uppfylldes under bp.4a visades. + \requirementno & BP4a redovisades under projektvecka 5. & Ja \\\hline -Krav 36. Under projektvecka nio redovisade projektgruppen samtliga Lrav som -uppfyllts tidigare samt alla krav i avsnitt 3.2. + \requirementno & BP4b redovisades under projektvecka 6. & Ja \\\hline -Krav 37. Programvaran levererades under projektvecka 10. + \requirementno & BP5 redovisades under projektvecka 9. & Ja \\\hline -Krav 38. Den tekniska dokumentationen levererades under projektvecka 10. + \requirementno & Programvaran kommer levereras under projektvecka 10. & -- \\\hline -Krav 39. Under projektvecka tio hölls en slutleverans där gruppen visade upp -samtliga krav och höll en presentation över vad hur arbetet har sett ut. + \requirementno & Den tekniska dokumentationen kommer levereras under + projektvecka 10. & -- \\\hline -Krav 40. Inför varje beslutspunkt har önskade dokument varit beställaren -tillhandahållna innan 09:00 arbetsdagen innan mötet. + \requirementno & En slutleverans kommer hållas under projektvecka 10. Vid slutleveransen + kommer projektgruppen gå igenom samtliga krav och i övrigt presentera arbetets + gång. & -- \\\hline -Krav 41. Projektledaren har delat tidsrapportering samt eventuella -mötesprotokoll vid rätt tid de flesta av projektveckorna, kravet är därför -delvis uppnått. + \requirementno & Inför varje beslutspunkt har önskade dokument varit beställaren + tillhanda innan 09:00 arbetsdagen innan mötet. & Ja \\\hline -Krav 42. Alla dokument samt all programvara har samlats i gitlab minst en gång i -veckan sedan projektvecka 2. + \requirementno & Projektledaren har delat tidsrapportering samt eventuella + mötesprotokoll vid rätt tid de flesta projektveckor. & Delvis \\\hline -Krav 43. Projektplan, designspecifikation, mötesprotokoll, teknisk -dokumentation, testprotokoll samt efterstudie har gjorts. + \requirementno & Alla dokument och all programvara har funnits tillgänglig på + \url{https://gitlab.liu.se/} sedan projektvecka 2. & Ja \\\hline -Krav 44. Dokument samt programvaran har bearbetats samt lagrats på -http://gitlab.ida.liu.se/. + \requirementno & Projektplan, designspecifikation, mötesprotokoll, testprotokoll och teknisk + dokumentation har framställts. Efterstudie kommer framställas vid ett senare + tillfälle. & Ja \\\hline -Krav 45. Alla dokument framtagna av projektgruppen har levererats i pdf-format. + \requirementno & Se krav 42. & Ja \\\hline -Krav 46. Alla dokument skrivna av projektgruppen är är skrivet på formell -korrekt svenska. + \requirementno & Alla dokument framtagna av projektgruppen har levererats som + PDF-dokument. & Ja \\\hline -Krav 47. Dokumentationen innehåller, + \requirementno & Alla framtagna dokument är skrivna på formell och korrekt + svenska. & Ja \\\hline -Krav 48. Programmet är uppdelat i funktioner. + \requirementno & Dokumentationen innehåller följande figurer: varvtid mot varvnummer och + genomsnittlig tid för varje segment. & Delvis \\\hline -Krav 49. Projektgruppen har samtlats på mint ett möte i veckan där alla -medlemmar har närvarat. Handledaren har inte närvarat vilket resulterar i ett -delvis uppnått krav. + \requirementno & Programmet är uppdelat i funktioner. & Ja \\\hline + + \requirementno & Projektgruppen har samtlats på minst ett möte i veckan där alla + medlemmar har närvarat. Handledaren har inte närvarat. & Delvis \\\hline + +\end{requirements} diff --git a/Dokument/Teknisk Dokumentation/lips-no_customer.cls b/Dokument/Teknisk Dokumentation/lips-no_customer.cls index 3ccaa3d..e002545 100644 --- a/Dokument/Teknisk Dokumentation/lips-no_customer.cls +++ b/Dokument/Teknisk Dokumentation/lips-no_customer.cls @@ -90,7 +90,7 @@ dottedtoc \def\name@Email{E-post} \def\name@Requirement{Krav} \def\name@Description{Beskrivning} - \def\name@Priority{Prioritet} + \def\name@Priority{Uppfyllt} \def\name@contprev{forts. från föregående sida} \def\name@contnext{forts. på nästa sida} \def\name@Author{Författare} diff --git a/Dokument/Teknisk Dokumentation/text/01-inledning.tex b/Dokument/Teknisk Dokumentation/text/01-inledning.tex index d851465..1a451aa 100644 --- a/Dokument/Teknisk Dokumentation/text/01-inledning.tex +++ b/Dokument/Teknisk Dokumentation/text/01-inledning.tex @@ -1,10 +1,9 @@ \section{Inledning} -\subsection{Bakgrund} Detta projektet har utförts med hjälp av en bilbana samt -flera bilar, givare, spänningsaggregat och en dator inkopplad till givarna på -banan. Via datorn har spänning tillförts till bilbanan. Med hjälp av givarna är -det möjligt att veta när en bil har passerat en givare. Programvaran utvecklas -i Matlab, vilket ligger till grund för styrning av bilarna. +\subsection{Bakgrund} Projektet har utförts med hjälp av en bilbana samt +flera bilar, givare, spänningsaggregat och två datorer inne i bilbanerummet. Via datorn har spänning tillförts till bilbanan. Med hjälp av givarna är +det möjligt att veta när en bil har passerat en givare. Programvaran utvecklades +i Matlab. \subsection{Syfte och mål} diff --git a/Dokument/Teknisk Dokumentation/text/02-system.tex b/Dokument/Teknisk Dokumentation/text/02-system.tex index 379a847..516aadf 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} |
