From fb03b37480f0a7905f917cbfb8c21b484f49ce9b Mon Sep 17 00:00:00 2001
From: Franz Bethke <bethke@math.hu-berlin.de>
Date: Mon, 13 Nov 2017 18:16:55 +0100
Subject: [PATCH] Add notes form 13.11 meeting

---
 doc/lastenheft/lastenheft.tex | 195 +++++++++++++++++++++-------------
 1 file changed, 124 insertions(+), 71 deletions(-)

diff --git a/doc/lastenheft/lastenheft.tex b/doc/lastenheft/lastenheft.tex
index 830a241f..9ac5a60d 100644
--- a/doc/lastenheft/lastenheft.tex
+++ b/doc/lastenheft/lastenheft.tex
@@ -65,7 +65,7 @@
 \section{Projektbeschreibung}
 Das Projekt soll automatisches Kolonnenfahren für Modellautos realisieren
 
-\subsection{Organisation}
+\subsection*{Organisation}
 Wird in drei Gruppen umgesetzt, welche hauptsächlich in 
 paralleler, kooperativer Arbeit agieren. Die Gruppen werden mit
 \textit{Gruppe A}, \textit{Gruppe B} und \textit{Gruppe C} bezeichnet.
@@ -79,34 +79,76 @@ und beschriebenen Use-Cases.
 Während der Entwicklung sollte auf größtmögliche Konformität mit dem
 bestehenden Projekt der Assystem geachtet werden.
 
-\subsection{Zielvorstellungen}
+\subsection*{Stakeholder}
+wichtige Personen hier aufführen.
+Verantworliche von Assystem u.a.
+
+\section{Zielvorstellungen}
 In diesem Abschnitt sollen Beispielszenarien beschrieben werden,
 welche durch das fertige System durchlaufen werden können soll.
 Dabei werden drei verschiedenen Ausbaustufen definiert.
-\begin{enumerate} %% TODO this should be some kind of mico TOC
-  \item Ausbaustufe 1 - minimal Szenario
-  \item Ausbaustufe 2 - ??
-  \item Ausbaustufe 3 - ??
-\end{enumerate}
-
-\subsubsection{Ausbaustufe 1 - minimal Szenario}
-Eine Spur (was ist die Alternative, wenn das Spurhalte-/-erkennungsmodul nicht lieferbar ist?)
-
-vollständige Organisation der Fahrzeuge vor dem losfahren, oder feste Konfiguration (statische Organisation)
-
-Möglichkeit einem ferngesteuerten Auto zu folgen (bei fester Organisation)?
-
-\subsubsection{Ausbaustufe 2 - ??}
-
-Organisation (Platton-creating/-running/-joining) während der Fahrt (dynamische Organisation)
 
-keine Feste Konfiguration, d.h. \gls{LV} abhängig von der Situation fesetgelegt
+\subsection*{Minimale Zielvorstellung}
+3 Fahrzeuge stehen hintereinander
+
+Kunde stellt das Hindernis in gerade Linie und startet das komplette Szenario
+
+Die Fahrzeuge fahren in festem Abstand los und fahren in Kolonne bis zum Hindernis
+
+\subsection*{1. Ausbaustufe}
+Anfangsabstand and Kolonnenabstand sind unterschiedlich
+\subsection*{2. Ausbaustufe}
+Fahrzeuge bleiben in Kolonne, 1 bleibt zurück (schert aus):
+Durch Signal von Kunde hält das letzte Fahrzeug an
+\subsection*{3. Ausbaustufe}
+Kunde startet 3 Fahrzeuge nacheinander, diese bilden eine Kolonne
+\subsection*{4. Ausbaustufe}
+Alternative: Kreisstrecke!
+beliebig lange Fahrt
+Hindernis taucht dynamisch auf
+\subsection*{5. Ausbaustufe}
+Kunde kann den Kolonnenabstand während der Fahrt ändern
+\subsection*{6. Ausbaustufe}
+2 Fahrzeuge fahren in Kolonne. Kunde bootet und startet 3. Fahrzeug, 3. Fahrzeug schließt sich der Kolonne an
+\subsection*{7. Ausbaustufe}
+Kunde kann die Geschwindigkeit von Fahrzeug 1, 2 und 3 bestimmen,
+so lange sie nicht in Kolonne fahren.
+Der Kunde kann Fahrzeug x in die Kolonne bringen.
+Wenn es in der Kolonne ist, reagiert es nicht mehr auf Geschwindigkeitsänderungswünsche…
+\subsection*{8. Ausbaustufe}
+1 Fahrzeug wird ferngesteuert. Die anderen Fahrzeuge folgen.
+
+%TODO old pls merge
+%\begin{enumerate} %% TODO this should be some kind of mico TOC
+%  \item Ausbaustufe 1 - minimal Szenario
+%  \item Ausbaustufe 2 - ??
+%  \item Ausbaustufe 3 - ??
+%\end{enumerate}
+%
+%\subsubsection{Ausbaustufe 1 - minimal Szenario}
+%Eine Spur (was ist die Alternative, wenn das Spurhalte-/-erkennungsmodul nicht lieferbar ist?)
+%
+%vollständige Organisation der Fahrzeuge vor dem losfahren, oder feste Konfiguration (statische Organisation)
+%
+%bei schweren Störungen immer Emergency-Stop
+%
+%Möglichkeit einem ferngesteuerten Auto zu folgen (bei fester Organisation)?
+%
+%\subsubsection{Ausbaustufe 2 - ??}
+%
+%Organisation (Platton-creating/-running/-joining) während der Fahrt (dynamische Organisation)
+%
+%minimale Spurhaltung; Kreisfahrt
+%
+%keine Feste Konfiguration, d.h. \gls{LV} abhängig von der Situation fesetgelegt
+%
+%\subsubsection{Ausbaustufe 3 - ??}
+%zwei spuren
+%
+%nur wenn Assystem liefert
+%dynamische Organisation (Platton-leaving)
+%ausweichen von Hindernissen auf einer Spur durch Spurwechsel
 
-\subsubsection{Ausbaustufe 3 - ??}
-zwei spuren
-
-dynamische Organisation (Platton-leaving)
-ausweichen von Hindernissen auf einer Spur durch Spurwechsel
 
 \section{Meilensteinplanung}
 Das Projekt sieht die folgenden grobe Meilensteine vor.
@@ -115,16 +157,15 @@ Das Projekt sieht die folgenden grobe Meilensteine vor.
   \item Anfang Dezember
     \begin{itemize}
       \item Fertigstellung der Modellautos
-      \item Fertigstellung des Platooning-Protokolls
+      \item Fertigstellung des Platooning-Protokolls-Designs
     \end{itemize}
-  \item Anfang Januar 
+  \item vor Weihnachten 
     \begin{itemize}
-      \item Fertigstellung der Systemarchitektur
-      \item 
+      \item Fertigstellung der Software-Systemarchitektur
     \end{itemize}
-  \item Anfang Februar
+  \item Anfang Januar
     \begin{itemize}
-      \item Fertigstellung der System
+      \item Fertigstellung der Platooning-Protokolls-Implementation
     \end{itemize}
 \end{enumerate}
 
@@ -135,57 +176,81 @@ zwischen den Gruppen statt. Im Sinne des Projektes können an Hand
 dieser Vergleiche einzelne Komponenten, zwischen den Gruppen
 ausgetauscht werden, bevor diese mit der Entwicklung fortfahren.
 
+
+\section{Use-Cases}
+%TODO Reihenfolge ändern
+\subsection*{Fahrbahn folgen}
+\subsection*{Kolonne erstellen}
+\subsubsection*{Als \gls{LV} Kolonne bilden}
+\subsubsection*{Als \gls{FV} Kolonne bilden}
+\subsubsection*{Verifikation der Erstellung}
+% TODO ich (Franz) bin dafür dieses Use-Case zu löschen
+\subsection*{Kolonne beitreten}
+\subsection*{Kolonne verlassen}
+\subsection*{Kolonne auflösen}
+\subsection*{Anzeigen/Ausgaben des aktuellen Status}
+\subsection*{Kollonnenfahren}
+
 \section{Fachliche Anforderungen}
-\subsection{Anforderungen an das allgemeine Fahrzeugverhalten (R-V-XX)}
+\subsection*{Anforderungen an das allgemeine Fahrzeugverhalten (R-V-XX)}
 
 
-\subsubsection{R-V-10 Emergency Stop}
+\subsubsection*{R-V-10 Emergency-Stop}
 Zu jedem Zeitpunkt muss das Fahrzeug in der Lage sein, aktuelle
 Berechnungen und Aktionen abzubrechen und ein Nothalt durchzuführen.
 Dabei soll das Fahrzeug schnellst möglich in den Stillstand versetzt
 werden, ohne dabei Kollisionen zu verursachen.
 
-Ein Emergency Stop muss sofort als Broadcast an alle Fahrzeuge
+Weitere Nachrichten des Platooning-Protokoll werden ab diesem Zeitpunkt
+ignoriert.
+
+Ein Emergency-Stop muss sofort als Broadcast an alle Fahrzeuge
 kommuniziert werden.
 
-\subsubsection{R-V-20 Hindernis Erkennung}
+\subsubsection*{R-V-20 Hindernis Erkennung}
 Ein Fahrzeug muss vor sich befindliche Hindernisse (evtl. auch andere Fahrzeuge)
 erkennen und deren relative Position und Geschwindigkeit bestimmen können.
 
-\subsubsection{R-V-20 W-LAN Kommunikation}
+\subsubsection*{R-V-30 W-LAN Kommunikation}
 
-\paragraph{R-V-21 Aufbau der Verbindung zu einem Steuercomputer}
+\paragraph{R-V-31 Aufbau der Verbindung zu einem Steuercomputer}
 Die Fahrzeuge müssen mit einem Steuercomputer verbunden werden können.
 Der Steuercomputer dient dazu durch Auslesen von log-Dateien,
 die Funktion der Fahrzeuge zu überwachen
 und Nachrichten des Platooning-Protokolls in seinem Namen, oder
 stellvertretend für jedes andere Fahrzeug zu verschicken.
 
-\paragraph{R-V-22 Aufbau der Verbindung zu anderen Fahrzeugen}
+\paragraph{R-V-32 Aufbau der Verbindung zu anderen Fahrzeugen}
 Die Fahrzeuge müssen ihre Intention eine Kolonne zu bilden
 umliegenden Fahrzeugen per W-LAN mitteilen können.
 
+\subsubsection*{R-V-30 RC-Steuerung}
+
 
-\subsection{Anforderungen an das \texorpdfstring{\gls{LV}}{LV} (R-LV-XX)}
+\subsection*{Anforderungen an das \texorpdfstring{\gls{LV}}{LV} (R-LV-XX)}
 
-\subsubsection{R-LV-10 Ermittlung/Festlegung der Kolonnengeschwindigkeit}
+\subsubsection*{R-LV-10 Ermittlung/Festlegung des \gls{PS}}
 Das \gls{LV} muss aus den Abständen zu Hindernissen, oder voran fahrenden
-Fahrzeugen eine Kolonnengeschwindigkeit ermitteln und diese allen \gls{FV}
+Fahrzeugen ein \gls{PS} ermitteln und diese allen \gls{FV}
 mitteilen.
-Wird ein festzulegender kritischer Grenzwert für die Geschwindigkeit
-unterschritten, so wird das Emergency-Stop-Signal gebroadcasted.
+Wird ein festzulegender kritischer Grenzwert für die Geschwindigkeitsänderung
+überschritten, so wird das Emergency-Stop-Signal gebroadcasted.
+
+Eine Ãœbertragung von Beschleuningungsinformationen ist nicht vorgesehen.
 
-\subsubsection{R-LV-10 Ermittlung/Festlegung des Kolonnenabstandes}
-Das \gls{LV} muss aus der Kolonnengeschwindigkeit,
+\subsubsection*{R-LV-20 Ermittlung/Festlegung des \gls{IPD}}
+Das \gls{LV} muss aus dem \gls{PS},
 den Abständen zu Hindernissen, oder voran fahrenden
-Fahrzeugen einen Kolonnenabstand ermitteln und diese allen \gls{FV}
+Fahrzeugen eine \gls{IPD} ermitteln und diese allen \gls{FV}
 mitteilen.
 Wird ein festzulegender kritischer Grenzwert für die Abstände unterschritten,
 so wird das Emergency-Stop-Signal gebroadcasted.
 
-\subsection{Anforderungen an die \texorpdfstring{\gls{FV}}{FV} (R-FV-XX)}
+\subsection*{R-LV-30 Erkennen und Kommunizieren schwerer Störungen}
 
-\subsubsection{R-FV-10 Halten der Kolonnengeschwindigkeit}
+\subsection*{Anforderungen an die \texorpdfstring{\gls{FV}}{FV} (R-FV-XX)}
+
+\subsubsection*{R-FV-10 Halten des \gls{PS}}
 Ein \gls{FV} muss in der Lage sein eine vom \gls{LV} vorgegebene
 Geschwindigkeit zu halten.
 
@@ -199,14 +264,14 @@ diese (innerhalb einer Toleranz) erstmalig für einen gewissen (kurzen)
 Kontrollzeitruam gehalten, so wird die erfolgreiche
 Umsetzung der Geschwindigkeitsänderung dem \gls{LV} mitgeteilt.
 
-\subsubsection{R-FV-20 Halten des Kolonnenabstandes}
+\subsubsection*{R-FV-20 Halten der \gls{IPD}}
 Ein \gls{FV} muss in der Lage sein ein vom \gls{LV} vorgegebenen
 Abstand zu seinem voran fahrenden Fahrzeug einzurichten und zu halten.
 
 Zum nachfolgenden Fahrzeug wird keine Abstandsprüfung vorgenommen.
 
 Um eventuelle Korrekturen des Abstandes vorzunehmen darf das \gls{FV}
-von der vorgegeben Kolonnengeschwindigkeit abweichen.
+von dem vorgegeben \gls{PS} abweichen.
 Je nach Ausbaustufe sollte eine möglichste glatte Funktion für die
 Geschwindigkeitskorrektur gefunden werden, abhängig von den Parametern
 \glqq eigene Geschwindigkeit\grqq,
@@ -218,37 +283,25 @@ dieser (innerhalb einer Toleranz) erstmalig für einen gewissen (kurzen)
 Kontrollzeitruam gehalten, so wird die erfolgreiche
 Umsetzung der Abstandsänderung dem \gls{LV} mitgeteilt.
 
-\subsection{Anforderungen an das Platooning-Protokoll (R-PP-XX)}
-
-\subsubsection{R-PP-10 Mitteilung: Emergency-Stop}
-
-\subsubsection{R-PP-20 Auswahl der Kolonnenführung (\texorpdfstring{\gls{LV}}{LV}) }
+\subsubsection*{Erkennung von Drehungen des voran fahrenden Fahrzeugs}
 
-\subsubsection{R-PP-30 Mitteilung zur Bereitschaft am Kolonnenfahren}
+\subsection*{Anforderungen an das Platooning-Protokoll (R-PP-XX)}
 
-\subsubsection{R-PP-40 Mitteilung zur Austritt aus der Kolonne}
-Case: Platoon-Leader verlässt die Kolonne!?
+\subsubsection*{R-PP-10 Mitteilung: Emergency-Stop}
 
+\subsubsection*{R-PP-20 Auswahl der Kolonnenführung (\texorpdfstring{\gls{LV}}{LV}) }
 
+\subsubsection*{R-PP-30 Mitteilung zur Bereitschaft am Kolonnenfahren}
 
-% Glossary
-\glsaddall
-\printglossaries
-% Biblography
-\phantomsection
-\addcontentsline{toc}{section}{Bibliography}
-\printbibliography
-  
-\subsubsection{R-PP-50 Mitteilung bei erfolgreicher Geschwindigkeitsänderung}
-\subsubsection{R-PP-60 Mitteilung bei erfolgreicher Abstandsänderung}
-Case: Platoon-Leader verlässt die Kolonne!?
-
-
+\subsubsection*{R-PP-40 Mitteilung zur Austritt aus der Kolonne}
+\subsubsection*{R-PP-50 Mitteilung bei erfolgreicher Geschwindigkeitsänderung}
+\subsubsection*{R-PP-60 Mitteilung bei erfolgreicher Abstandsänderung}
+\subsubsection*{R-PP-70 Ermittlung des Verbindungsstatus und Timeouts}
 
 % Glossary
 \glsaddall
 \printglossaries
-% Biblography
+%Biblography
 \phantomsection
 \addcontentsline{toc}{section}{Bibliography}
 \printbibliography
-- 
GitLab