diff --git a/images/Taxonomie_moveit.pdf b/images/Taxonomie_moveit.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..14f8f01366a780f0fd7095c8c548a9161c6ada58
Binary files /dev/null and b/images/Taxonomie_moveit.pdf differ
diff --git a/sections/ausblick.tex b/sections/ausblick.tex
index 4c763503d2637a39ec9813d4f06b079fb8c244b2..42f50f2dfb626d1a91661bf2b2f84b2c3e8ed58f 100644
--- a/sections/ausblick.tex
+++ b/sections/ausblick.tex
@@ -1,3 +1,4 @@
+\newpage\null\newpage
 \chapter{Ausblick}\label{ch:future_work}
 
 \section{Erweiterung der Fallstudie}
diff --git a/sections/eval.tex b/sections/eval.tex
index 5aa1c3c67a3df11c9282a42dd70ea03163624701..40701b3fc84252f4ec30e20fca8ca4fba8bfcfc3 100644
--- a/sections/eval.tex
+++ b/sections/eval.tex
@@ -1,6 +1,6 @@
 \newpage\null\newpage
 \chapter{Evaluation}\label{ch:eval}
-Ziel der Fallstudie war die Anwendung einiger der in der Taxonomie eingeordneten Constraints in einem realen Anwendungsfall. In diesem Kapitel wird die Implementierung hinsichtlich der Erfüllung der in Abschnitt~\ref{ch:requirements} gelisteten Anforderungen überprüft. Dazu werden beide Cobot-Anwendungsfälle in einer Gazebo Simulationsumgebung simuliert. Anschließend werden alle aufgetretenen Constraints in die in Kapitel~\ref{ch:taxonomy} präsentierte Taxonomie eingeordnet.
+Ziel der Fallstudie war die Anwendung einiger der in der Taxonomie eingeordneten Constraints in einem realen Anwendungsfall. In diesem Kapitel wird die Implementierung hinsichtlich der Erfüllung der in Abschnitt~\ref{ch:requirements} gelisteten Anforderungen überprüft. Dazu werden beide Cobot-Anwendungsfälle in einer Gazebo Simulationsumgebung simuliert. Anschließend werden alle aufgetretenen Constraints in die in Kapitel~\ref{ch:taxonomy} präsentierte Taxonomie eingeordnet und es wird dargestellt, welche Constraints direkt in MoveIt umgesetzt wurden und welche Constraints theoretisch umgesetzt werden könnten.
 
 
 \section{Simulation}
@@ -107,63 +107,83 @@ Um die Einhaltung der Constraints zu validieren, wurde die Beschleunigung, die G
 \end{center}
 
 
-\begin{figure}
+\begin{figure}[!h]
 	\centering
 	\includegraphics[height=\textheight, width=\textwidth, keepaspectratio]{images/velocity_eval.png} 
 	\caption{Geschwindigkeit und Beschleunigung des Endeffektors relativ zur Welt}
 	\label{fig:velocity_eval}
 \end{figure}
 
-\begin{figure}
+\begin{figure}[!h]
 	\centering
 	\includegraphics[height=\textheight, width=\textwidth, keepaspectratio]{images/Orientation_eval.png} 
 	\caption{Orientierung des Endeffektors relativ zur Welt}
 	\label{fig:orientation_eval}
 \end{figure}
 
-\begin{figure}
+\begin{figure}[!h]
 	\centering
 	\includegraphics[height=\textheight, width=\textwidth, keepaspectratio]{images/Safezone_eval.png} 
 	\caption{Entfernungen aller Glieder zur Sicherheitszone}
 	\label{fig:safezone_eval}
 \end{figure}
 
-
+\newpage
 \section{Constraints}
-In diesem Abschnitt werden alle verwendeten Constraints aufgelistet und in die Taxonomie eingeordnet.
+In diesem Abschnitt wird für jedes verwendete Constraint untersucht, in wie fern es in MoveIt direkt umgesetzt werden konnte und in die Taxonomie eingeordnet. Eine vollständige Darstellung aller verwendeten Constraints und in MoveIt umsetzbaren Constraints ist in Abbildung~\ref{fig:taxonomie_moveit} gegeben. Standardmäßig unterstützt MoveIt folgende Constraints, für die bereits eigene ROS Messages existieren:
+\begin{enumerate}
+	\item \textbf{Joint Constraint:} Einzelne Drehwerte der Gelenke innerhalb eines Bereichs halten
+	\item \textbf{Position Constraint:} Einzelne Glieder innerhalb eines dreidimensionalen Volumen halten
+	\item \textbf{Orientation Constraint:} Die Orientierung eines Gliedes innerhalb einer Toleranz halten
+	\item \textbf{Visibility Constraint:} Sicherstellen, dass der Roboter sich nicht innerhalb des Sichtkegels eines Sensors bewegt. Soll ein Objekt stets für den Sensor sichtbar sein, muss zusätzlich ein Positions-Constraint angewandt werden.
+\end{enumerate}
 
 \paragraph{Workflow}
-Die Handlungen der beiden Roboter folgt einem strikten Ablaufplan. Ihre Handlungswahl ist dementsprechend beschränkt. In der Taxonomie wird ein solcher Constraint eingeordnet unter: 
+Die Handlungen der beiden Roboter folgt einem strikten Ablaufplan. Ihre Handlungswahl ist dementsprechend beschränkt. Da MoveIt lediglich ein Motion Planning Framework ist, bietet es keine Möglichkeiten abstrakte Handlungen einzuschränken. In der Taxonomie wird ein solcher Constraint eingeordnet unter: 
 
 \begin{center}
 	Robotische Constraints → Handlung → Endeffektorunspezifisch
 \end{center}
 
 \paragraph{Orientierung}
-Bei der Handhabung und Manipulation von mit Flüssigkeit befüllten Behältern, müssen die Roboter diesen aufrecht relativ zum Boden halten. Dies geschieht beim Aufnehmen der Flasche, der Bewegung der Flasche an das Glas hinan, beim Abstellen der Flasche, bei der Aufnahme des Glases, bei der Bewegung des Glases und beim Abstellen des Glases. Dieser Constraint wird bereits bei der Pfadplanung berücksichtigt und ist aufgrund der Art des bewegten Werkstücks notwendig. Daher lässt er sich in der Taxonomie einordnen unter:
+Bei der Handhabung und Manipulation von mit Flüssigkeit befüllten Behältern, müssen die Roboter diesen aufrecht relativ zum Boden halten. Dies geschieht beim Aufnehmen der Flasche, der Bewegung der Flasche an das Glas hinan, beim Abstellen der Flasche, bei der Aufnahme des Glases, bei der Bewegung des Glases und beim Abstellen des Glases. Dieser Constraint wird bereits bei der Pfadplanung berücksichtigt und ist aufgrund der Art des bewegten Werkstücks notwendig. Die Einschränkung der Orientierung entspricht dem von MoveIt bereitgestellten Orientation Constraint und kann daher problemlos in MoveIt umgesetzt werden.
+In die Taxonomie einordnen lässt sich dieser Constraint unter:
 
 \begin{center}
 	Robotische Constraints → Pfad → Orientierung des Endeffektors → Bewegtes Werkstück
 \end{center}
 
 \paragraph{Beschleunigung}
-Neben der Orientierung, muss beim Arbeiten mit Flüssigkeiten auch die Beschleunigung beschränkt werden, um ein Überschwappen zu verhindern. Berücksichtigt wird die Beschleunigungsskalierung von der Move Group erst bei Ausführung des geplanten Pfads. Dementsprechend wird der Beschleunigungs-Constraint wie folgt eingeordnet:
+Neben der Orientierung, muss beim Arbeiten mit Flüssigkeiten auch die Beschleunigung beschränkt werden, um ein Überschwappen zu verhindern. Berücksichtigt wird die Beschleunigungsskalierung von der Move Group erst bei Ausführung des geplanten Pfads, indem die maximale Beschleunigung jedes Gelenks reduziert wird. Die Beschränkung der Beschleunigung im Planungsschritt ist in der verwendeten MoveIt Version nicht möglich. In die Taxonomie wird der Beschleunigungs-Constraint wie folgt eingeordnet:
 \begin{center}
 	Robotische Constraints → Bewegung → Beschleunigung → Bewegtes Werkstück
 \end{center}
 
 \paragraph{Geschwindigkeit}
-Das Umfüllen der Flüssigkeit aus den ersten in den zweiten Behälter erforderte eine zusätzliche Beschränkung der Geschwindigkeit. Eine zu schnelle Rotation des Endeffektors könnte ebenfalls zu einem Überschwappen führen. So wie der Beschleunigungs-Constraint wird auch der Geschwindigkeits-Constraint als Bewegungs-Constraint eingeordnet:
+Das Umfüllen der Flüssigkeit aus den ersten in den zweiten Behälter erforderte eine zusätzliche Beschränkung der Geschwindigkeit. Eine zu schnelle Rotation des Endeffektors könnte ebenfalls zu einem Überschwappen führen. Analog zur Einschränkung der Beschleunigung, kann eine die Geschwindigkeit nicht beim Motion Planning berücksichtigt werden. Eingeordnet wird der Constraint unter:
 \begin{center}
 	Robotische Constraints → Bewegung → Geschwindigkeit → Bewegtes Werkstück
 \end{center}
 
-\paragraph{Sicherheitszone}
-Um eine Kollision der Roboter in dem sich überschneidenden Arbeitsbereich zu verhindern, ist es immer nur einem Roboter möglich die Sicherheitszone zu betreten. Da das Betreten nicht mit einer Änderung des Verhaltens einhergeht, sondern ohne weiteres gar nicht möglich ist, handelt es sich eigentlich um verbotene Zone:
+\paragraph{Sicherheitszone und Hindernisse}
+Um eine Kollision der Roboter in dem sich überschneidenden Arbeitsbereich zu verhindern, ist es immer nur einem Roboter möglich die Sicherheitszone zu betreten. Da das Betreten nicht mit einer Änderung des Verhaltens einhergeht, sondern ohne weiteres gar nicht möglich ist, handelt es sich eigentlich um verbotene Zone. Das Konzept von Sicherheitszonen und verbotenen Zonen gibt es in MoveIt nicht. Realisiert werden kann eine verbotene Zone allerdings zum Beispiel durch das Hinzufügen eines Hindernisses in die Planning Scene oder durch Verwendung des Position Constraints. In der Fallstudie wurde erstere Option verwendet. Dadurch ergeben sich zwei Möglichkeiten den Constraint in die Taxonomie einzuordnen:
 \begin{center}
 	Robotische Constraints → Pfad → Arbeitsbereich → Kollaboration → Verbotene Zone
 \end{center}
-Realisiert wurde die Sicherheitszone in der Fallstudie durch ein weiteres Kollisionsobjekt, weshalb eine zusätzliche Einordnung möglich ist:
 \begin{center}
 	Robotische Constraints → Pfad → Hindernisse
-\end{center}
\ No newline at end of file
+\end{center}
+
+\paragraph{Angehängtes Objekt}
+Nach der Aufnahme des Glases oder der Flasche wird das Kollisionsobjekt dem kinematischen Modell des Roboters hinzugefügt und dadurch automatisch beim Motion Planning berücksichtigt. In der Taxonomie lässt sich dieser Constraint ebenfalls einordnen:
+\begin{center}
+	Robotische Constraints → Pfad → Angehängte Objekte
+\end{center}
+
+
+\begin{figure}[!h]
+	\centering
+	\includegraphics[height=\textheight, width=\textwidth, keepaspectratio]{images/Taxonomie_moveit.pdf} 
+	\caption{In der Fallstudie angewandte Constraints (blau) und in MoveIt direkt umsetzbare Constraints (orange)}
+	\label{fig:taxonomie_moveit}
+\end{figure}
\ No newline at end of file
diff --git a/sections/implementierung.tex b/sections/implementierung.tex
index 7ce5e4c7cbb930223633e39ff80aa28d5757d90d..6b2b7c8c5c5924bd73a299f1f9a41c34cfb0ad01 100644
--- a/sections/implementierung.tex
+++ b/sections/implementierung.tex
@@ -1,6 +1,6 @@
 \newpage\null\newpage
 \chapter{Fallstudie}\label{ch:implementation}
-Die Fallstudie soll die Anwendbarkeit der in der Taxonomie beschriebenen Constraints zeigen. Dazu wird eine Auswahl an Constraints in einem kollaborativen Anwendungsfall implementieren und untersuchen. Die Ausgangssituation bilden zwei Panda Roboterarme des Herstellers Franka Emika\footnote{https://www.franka.de/}. Der erste Roboter nimmt nach Initialisierung durch einen Menschen ein Gefäß auf und füllt dessen Inhalt in ein anderes Gefäß. Die Initialisierung erfolgt, indem ein leerer Behälter auf einem Drucksensor abgestellt wird. Nachdem das erste Gefäß wieder abgestellt wurde, wird das zweite Gefäß aufgenommen und auf einem zweiten Drucksensor in der Nähe des anderen Roboters gestellt. Dieser nimmt das Gefäß auf und stellt es dem menschlichen Nutzer bereit.
+Die Fallstudie soll die Anwendbarkeit der in der Taxonomie beschriebenen Constraints zeigen und untersuchen, in wie fern diese Constraints vom Motion Planning Framework MoveIt\footnote{\url{https://moveit.ros.org/}} unterstützt werden. Dazu wird eine Auswahl an Constraints in einem kollaborativen Anwendungsfall implementieren und untersuchen. Die Ausgangssituation bilden zwei Panda Roboterarme des Herstellers Franka Emika\footnote{https://www.franka.de/}. Der erste Roboter nimmt nach Initialisierung durch einen Menschen ein Gefäß auf und füllt dessen Inhalt in ein anderes Gefäß. Die Initialisierung erfolgt, indem ein leerer Behälter auf einem Drucksensor abgestellt wird. Nachdem das erste Gefäß wieder abgestellt wurde, wird das zweite Gefäß aufgenommen und auf einem zweiten Drucksensor in der Nähe des anderen Roboters gestellt. Dieser nimmt das Gefäß auf und stellt es dem menschlichen Nutzer bereit.
 
 \section{Anforderungen}\label{ch:requirements}
 Die in der Aufgabenstellung beschriebenen Handlungen der Roboter ergeben folgende Anforderungen:
@@ -77,8 +77,8 @@ Unter anderen wird die Beschreibung des Roboters in Form des Unified Robot Descr
 Um in einem größeren System nicht alle Nodes manuell starten zu müssen, können sie in einem Package gebündelt und über eine Launch Datei gestartet werden. Die Launch Datei beschreibt die Startparameter der einzelnen Nodes und deren Abhängigkeit zu weiteren Nodes und Packages. Neben Nodes kann ein Package auch ROS-unabhängige Software, Konfigurationsdateien und Daten enthalten. Ziel von Packages ist die einfache Wiederverwendung von Softwaremodulen.
 
 \subsection{MoveIt}
-MoveIt\footnote{\url{https://moveit.ros.org/}} ist das primäre Motion-Planning Framework in ROS und bietet eine relativ niedrige Einstiegshürde~\cite{coleman_reducing_2014}. Die Kernfunktionalitäten sind aus austauschbaren Komponenten aufgebaut. Als Standard Motion Planning Plugin wird die Open Motion Planning Library (OMPL), zur Kollisionserkennung die Fast Collision Library (FCL) und für die kinematischen Berechnungen die OROCOS Kinematics and Dynamics Library (KDL) verwendet \cite{chitta_moveitros_2012}.
-Die Grundbausteine der MoveIt Architektur sind in Abbildung~\ref{fig:moveit_concepts} dargestellt und werden nachfolgend, auf Grundlage des Referenzbuchs von Anis Koubaa~\cite{koubaa_anis_2016} und der MoveIt Dokumentation~\cite{moveit_concepts_nodate} kurz erklärt.
+MoveIt ist das primäre Motion-Planning Framework in ROS und bietet eine relativ niedrige Einstiegshürde~\cite{coleman_reducing_2014}. Die Kernfunktionalitäten sind aus austauschbaren Komponenten aufgebaut. Als Standard Motion Planning Plugin wird die Open Motion Planning Library (OMPL), zur Kollisionserkennung die Fast Collision Library (FCL) und für die kinematischen Berechnungen die OROCOS Kinematics and Dynamics Library (KDL) verwendet \cite{chitta_moveitros_2012}.
+Die Grundbausteine der MoveIt Architektur sind in Abbildung~\ref{fig:moveit_concepts} dargestellt und werden nachfolgend, auf Grundlage des Referenzbuchs von Anis Koubaa~\cite{koubaa_anis_2016} und der MoveIt Dokumentation~\cite{moveit_concepts_nodate} kurz erklärt. Verwendet wird in dieser Arbeit die Version \glqq MoveIt 1 - Melodic\grqq.
 
 \begin{figure}
 	\centering
@@ -106,7 +106,7 @@ Um die Trajektorie auf dem Roboter auszuführen, muss dieser ein \glqq FollowJoi
 
 \begin{figure}
 	\centering
-	\includegraphics[height=0.98\textheight, width=\textwidth, keepaspectratio]{images/Ablaufdiagramm.pdf} 
+	\includegraphics[height=0.95\textheight, width=\textwidth, keepaspectratio]{images/Ablaufdiagramm.pdf} 
 	\caption{Ablaufdiagramme für die Aufgaben der zwei Cobots.}
 	\label{fig:ablaufdiagramm}
 \end{figure}