diff --git a/doc/mainDocument/sections/architektur.tex b/doc/mainDocument/sections/architektur.tex index 57e7fb60d5d3efc6178f132cc8a805846003f67e..76189a6a577df73a3e48dd02f55b01b2373b561a 100644 --- a/doc/mainDocument/sections/architektur.tex +++ b/doc/mainDocument/sections/architektur.tex @@ -7,6 +7,7 @@ Auf dem STM-Board laufen die Treiber f\"ur die direkte Steuerung des Motors und der R\"ader. Die gesamte Software des STM-Boards von Assystem geliefert und unser Team muss sich lediglich darum k\"ummern die entsprechenden Befehle vom Odroid-Board an das STM-Board zu schicken.\\ Auf dem Odroid-Board laufen die Module zum berechnen des Fahrverhaltens, sowie der Kommunikation mit anderen Fahrzeugen. Die Kamera und der Ultraschallsensor sind mit dem Odroid verbunden. Das Lanekeeping-Modul berechnet die Radstellung. Der Platoon-Controller k\"ummert sich um die Car2Car-Kommunikation. Das Cruise-Control-Modul berechnet die Geschwindigkeit. Die Environment bearbeitet die Kamera- und Sensordaten. Das Egomotion-Modell speichert alle berechneten Daten. Das Logging-Modul speichert alle aktuellen Daten. Weiterhin gibt es zwei Netzwerkschnittstellen, eins zur Kommunikation mit dem STM-Board und ein weiteres zur WLAN-Kommunikation. \\\\ + Bis auf die einzelnen Module im Odroid, ist die Architektur so von Assystem vorgegeben, da sie die Software f\"ur das STM liefern und auch den Bau der Fahrzeuge leiten. \begin{landscape} @@ -42,11 +43,12 @@ \caption{ODROID-System} \label{fig:ODROID-sys} \end{figure} - \end{landscape} \subsection{Object Oriented Analysis} - \begin{figure}[h] + In Abbildung \ref{fig:ooa} ist das UML-Klassendiagramm f\"ur die Module des Odroids. + + \begin{figure}[H] \begin{tikzpicture} \begin{umlpackage}{Car} \begin{umlpackage}{ODROID} @@ -224,8 +226,10 @@ \end{figure} \subsection{Softwarearchitektur} + Zur Unterst\"utzung in der Entwicklung des Systems benutzen wir die Tools des Robot Operating System (ROS). ROS ist ein beliebtes Framework im Robotik-Bereich und ist durch das Messaging-System zwischen einzelnen ROS-Modulen auf Verteilbarkeit und Modularit\"at ausgerichtet. Weiterhin sind die Module, die Assystem uns liefert bereits als ROS-Nodes implementiert, wodurch es Sinn macht, dass wir selbst ROS benutzen, um so die Kompatibilit\"at mit Assystem zu gew\"ahren. Da ROS die Programmiersprachen Python und C++ unterst\"utzt, und unser System sehr zeitkritisch ist, haben wir uns entschieden das gesamte System in C++ zu implementieren. + \begin{landscape} - \begin{figure}[h] + \begin{figure}[H] \begin{center} %\includegraphics[width=\textwidth]{SoftwareArchitektur} %photo \includegraphics[scale=0.45]{sw_architektur} % some elements missing/ not recognizable