Newer
Older
\documentclass[../mainDocument.tex]{subfiles}
\section{Architektur und Integrationstests}
\subsection{Odroid}
\begin{landscape}
\begin{figure}[h]
\begin{center}
\includegraphics[scale=0.45]{Odroid}
\end{center}
\caption{Odriod-System}
\label{fig:odriod-sys}
\end{figure}
\begin{figure}[h]
\begin{center}
\includegraphics[scale=0.5]{SystemArchitektur}
\end{center}
\caption{Odriod-System}
\label{fig:hardware-sys}
\end{figure}
\end{landscape}
\subsection{Object Oriented Analysis}
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
\begin{tikzpicture}
\begin{umlpackage}{Car}
\begin{umlpackage}{Odroid}
% classes
\umlclass[scale = 0.5]
{MAV-Link}
{
- $v_{new}$ : Integer\\
- $\alpha_{new}$ : Integer\\
- $v_O$ : Interger\\
- $\alpha_O$ : Integer\\
- RC-State : Integer
}
{
+ set($v_{new}$, $\alpha_{new}$)\\
+ RequestNewState(RC-State)\\
+ updateOwn() : (Integer, Integer)
}
\umlclass[scale = 0.5, xshift = -8cm]
{Lane-Keeping}
{
- Image/Path : ?\\
- $\alpha_{new}$ : Integer
}
{
+ Lanekeeping() : ?
}
\umlclass[scale = 0.5, xshift = 8cm, yshift = -4cm]
{Cruise-Control}
{
- $d_O$ : Integer\\
- $v_P$ : Integer\\
- $IPD$ : Integer\\
- $PS$ : Integer\\
- PlatoonState : Integer\\
- $v_s$ : Integer\\
- $d_s$ : Integer\\
+ $v_{new}$ Integer
}
{
- CACC($d_O, v_P, IPD, PS$) : Integer\\
- ACC($d_O, v_P, v_s, d_s$) : Integer\\
- calcNewOptimalDistance($v_s$) : Integer\\
+ setNewSpeed($v_{new}$)
} (CruiseConrol)
\umlclass[scale = 0.5, xshift = -5.5cm, yshift = -9cm]
{Egomotion}
{
- $d_O$ : Integer\\
- $v_O$ : Integer\\
- $v_R$ : Integer\\
- $v_P$ : Integer\\
- $\alpha_O$ : Integer\\
- Path : ?\\
+ $\alpha_{new}$ : Integer\\
+ $v_{new}$ : Integer\\
}
{
- calc\_$v_P$($v_R$) : Integer\\
%- getEnvironment() : (Integer, Integer)\\
%- getMavLink() : (Integer, Integer)\\
%- getCurseControl : Integer
} (EgoMotion)
\umlclass[scale = 0.5, xshift = 6.7cm, yshift = -14cm]
{PlatoonController}
{
- $IPD$ : Integer\\
- $PS$ : Integer\\
- PlatoonState : ENUM\\
- $v_s$ : Integer\\
- $CarID$ : Integer\\
- PlatoonMemberList : ?\\
- PlatoonPos : Integer\\
- PlatoonPrevID : ?\\
+ WantsPlatton : Boolean
}
{
- evaluate\_PlatoonState(PlatoonState : Integer) : ?\\
- determine\_LV\_IPD-PS() : (Integer, Integer)\\
- handle\_PBM() : ?\\
- handle\_PCM() : ?\\
- handle\_PHM() : ?\\
- send\_PBM() : ?\\
- send\_PCM() : ?\\
- send\_PHM() : ?
}
\umlclass[scale = 0.5, xshift = -9cm, yshift = -20cm]
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
+ $v_R$ : Integer\\
+ PlatoonPrevID : ?
}
{
- calc\_$v_R$
}
\umlclass[scale = 0.5, xshift = -4cm, yshift = -23cm]
{Logging}
{
+ $d_O$ : Integer\\
+ $v_O$ : Integer\\
+ $\alpha_O$ : Integer\\
+ $v_R$ : Integer\\
+ $v_P$ : Integer\\
+ Path : ?\\
+ $\alpha_{new}$ : Integer\\
+ $v_{new}$ : Integer\\
+ WantsPlatton : Boolean\\
+ UpdateReady : Boolean\\
+ $IPD$ : Integer\\
+ $PS$ : Integer\\
+ PlatoonState : ENUM\\
+ $v_s$ : Integer\\
+ $CarID$ : Integer\\
+ PlatoonMemberList : ?\\
+ PlatoonPos : Integer\\
+ PlatoonPrevID : Integer
}
{
- cacheDate() : ?\\
+ sendToPC(ALL)
}
\umlclass[scale = 0.5, xshift = -11.5cm, yshift = -25cm]
{Camera}
{}
{}
\umlclass[scale = 0.5, xshift = -11.2cm, yshift = -28cm]
{Ultrasonic}
{}
{}
\umlclass[scale = 0.5, xshift = 9.5cm, yshift = -25cm]
{Network}
{
+ $IPD$ : Integer\\
+ $PS$ : Integer
}
{
+ send\_PBM()\\
+ send\_PCM()\\
+ send\_PHM()\\
+ send\_PLM()\\
+ handle\_PBM()\\
+ handle\_PCM()\\
+ handle\_PHM()\\
+ handle\_PLM()\\
+ Car2PC-MSGs.
}
%arrows
\umlinherit [geometry=-| ,anchors= 0 and 250] {Camera}{Environment}
\umlinherit [geometry=|- ,anchors= 90 and 180] {Camera}{Lane-Keeping}
\umlinherit [geometry=|- ,anchors= 90 and 25] {Cruise-Control}{MAV-Link}
\umlinherit [geometry=|- ,anchors= 217 and 50] {Cruise-Control}{Egomotion}
\umlinherit [geometry=|- ,anchors= 50 and 217] {Egomotion}{Cruise-Control}
\umlinherit [geometry=|- ,anchors= -35 and 152] {Egomotion}{PlatoonController}
\umlinherit [geometry=-| ,anchors= 115 and 300] {Egomotion}{Lane-Keeping}
\umlinherit [geometry=-|] {Egomotion}{Logging}
\umlinherit [geometry=|-|,anchors=90 and 245] {Environment}{Egomotion}
\umlinherit [geometry=--] {Lane-Keeping}{MAV-Link}
\umlinherit [geometry=-| ,anchors= 300 and 115] {Lane-Keeping}{Egomotion}
\umlinherit [geometry=|- ,anchors= -55 and 222] {Logging}{Network}
\umlinherit [geometry=|-|,anchors= 235 and 70] {MAV-Link}{Egomotion}
\umlinherit [geometry=-| ,anchors= 180 and 270] {Network}{MAV-Link}
\umlinherit [geometry=-|] {PlatoonController}{Cruise-Control}
\umlinherit [geometry=|- ,anchors= 240 and 25] {PlatoonController}{Logging}
\umlinherit [geometry=-|, anchors= 300 and 85] {PlatoonController}{Network}
\umlinherit [geometry=-|, anchors= 85 and 300] {Network}{PlatoonController}
\umlinherit [geometry=-| ,anchors= 0 and 290] {Ultrasonic}{Environment}
\end{umlpackage}
\end{umlpackage}
\end{tikzpicture}
\subsection{Softwarearchitktur}
%tikz oder drawio
\includegraphics[width=\textwidth]{SoftwareArchitektur}