diff options
3 files changed, 37 insertions, 35 deletions
diff --git a/Dokument/Teknisk Dokumentation/text/03-systembeskrivning.tex b/Dokument/Teknisk Dokumentation/text/03-systembeskrivning.tex index c0a4007..96b8be4 100644 --- a/Dokument/Teknisk Dokumentation/text/03-systembeskrivning.tex +++ b/Dokument/Teknisk Dokumentation/text/03-systembeskrivning.tex @@ -3,7 +3,6 @@ \input{text/system/01-innan-start} \input{text/system/02-uppstart} \input{text/system/03-korning} -\input{text/system/04-gas} \input{text/system/05-display} \subsection{Avslut} diff --git a/Dokument/Teknisk Dokumentation/text/system/03-korning.tex b/Dokument/Teknisk Dokumentation/text/system/03-korning.tex index 2dc4ef3..c33037e 100644 --- a/Dokument/Teknisk Dokumentation/text/system/03-korning.tex +++ b/Dokument/Teknisk Dokumentation/text/system/03-korning.tex @@ -1,12 +1,13 @@ \subsection{Körning} -Huvudloopen körs åtminstonde 10 gånger i sekunden. Den beräknar först var bilen -befinner sig, sedan väljer den hur snabbt bilen ska köra och slutligen sätts den -hastigheten till banan. +Huvudloopen körs åtminstonde 10 gånger i sekunden. Den beräknar var bilen +befinner sig, hur snabbt bilen ska köra, justerar \texttt{car.constant} och sätter det +nya gaspådraget till banan. -Den viktigaste delen av huvudloopen är funktionen \emph{do\_car}. Funktionen -beräknar de ändrinar som skall göras i matlab-structen \emph{car} och är indelad -i många delar. +Majoriteten av förändringarna i structen \texttt{car} görs i funktionen \texttt{do\_car()}. +I \texttt{do\_car()} beräknas först positionen (\texttt{car.position}), +sedan motsvarande hastighetsparameter (\textt{car.v}) och därefter det gaspådrag +(\textt{car.u}) som ska sättas till banan. \subsubsection{Position} @@ -32,3 +33,33 @@ Sedan beräknas den fakiska positionen, i meter från målgivaren, med funktione \emph{aprox\_v} och tiden sedan denna beräkning gjordes senast (en programcykel) och beräknar med s = v * t den sträcka som bilen har åkt. Sedan adderas denna med förra kända postionen och retuneras i \emph{car.position}. + +\subsubsection{Gaspådrag} + +Sedan beräknas det gaspådrag som skall sättas till banan. Detta görs i två +funktioner, \emph{get\_new\_v}) och \emph{get\_new\_u}. + +I \emph{get\_new\_v} används bilens nuvarande postition (\emph{car.postition}) +och hastihetskartan (\emph{car.map}). I \emph{car.map} finns en +hastighetsparameter för varje \emph{car.position}, denna retuneras av funktionen +och sparas i \emph{car.v}. + +I \emph{get\_new\_u} används denna hastighetsparameter tillsammans med +\emph{car.constant}. Dessa multipliceras och deras produkt retuneras och sparas +i \emph{car.u}. + +\subsubsection{Governor} + +Sedan, om bootstrap är avslutad, körs den del av koden vars ända uppgift är att +anpassa \emph{car.constant}. + +Detta görs med funktionen \emph{do\_gov}. Först görs en uppskattning av varvtiden utifrån hur lång tid varvet har tagit än +så länge. Om bilen är inne på sitt första varv görs uppskattningen endast +utifrån förra segmentet \emph{car.forcasts\_naive} och om första varvet är +avslutat använder den i stället \emph{car.forcasts} som kollar på hela varvtiden +fram till och med nu. Detta görs efter segment 4 och 8. Desutom används den +faktiska varvtiden när bilen passerar mål (från varv 2 och frammåt). + +Sedan jämförs den uppskattade varvtiden med referenstiden \emph{car.ref\_time}. +Om den uppskattade varviden är högre än referenstiden höjs \emph{car.constant} +och om den är lägre sänks \emph{car.constant}. diff --git a/Dokument/Teknisk Dokumentation/text/system/04-gas.tex b/Dokument/Teknisk Dokumentation/text/system/04-gas.tex index d303456..8b13789 100644 --- a/Dokument/Teknisk Dokumentation/text/system/04-gas.tex +++ b/Dokument/Teknisk Dokumentation/text/system/04-gas.tex @@ -1,29 +1 @@ -\subsection{Gaspådrag} -Sedan beräknas det gaspådrag som skall sättas till banan. Detta görs i två -funktioner, \emph{get\_new\_v}) och \emph{get\_new\_u}. - -I \emph{get\_new\_v} används bilens nuvarande postition (\emph{car.postition}) -och hastihetskartan (\emph{car.map}). I \emph{car.map} finns en -hastighetsparameter för varje \emph{car.position}, denna retuneras av funktionen -och sparas i \emph{car.v}. - -I \emph{get\_new\_u} används denna hastighetsparameter tillsammans med -\emph{car.constant}. Dessa multipliceras och deras produkt retuneras och sparas -i \emph{car.u}. - -\subsubsection{Governor} - -Sedan, om bootstrap är avslutad, körs den del av koden vars ända uppgift är att -anpassa \emph{car.constant}. - -Detta görs med funktionen \emph{do\_gov}. Först görs en uppskattning av varvtiden utifrån hur lång tid varvet har tagit än -så länge. Om bilen är inne på sitt första varv görs uppskattningen endast -utifrån förra segmentet \emph{car.forcasts\_naive} och om första varvet är -avslutat använder den i stället \emph{car.forcasts} som kollar på hela varvtiden -fram till och med nu. Detta görs efter segment 4 och 8. Desutom används den -faktiska varvtiden när bilen passerar mål (från varv 2 och frammåt). - -Sedan jämförs den uppskattade varvtiden med referenstiden \emph{car.ref\_time}. -Om den uppskattade varviden är högre än referenstiden höjs \emph{car.constant} -och om den är lägre sänks \emph{car.constant}. |
