diff --git a/sections/ausblick.tex b/sections/ausblick.tex index b58899eea8b421d226b3f088feb4ed41f5eab31c..7f679a5759aec23425055cb4275e766f8271265d 100644 --- a/sections/ausblick.tex +++ b/sections/ausblick.tex @@ -1,4 +1,5 @@ -\chapter{Ausblick} +\newpage\null\newpage +\chapter{Ausblick}\label{ch:future_work} \section{Erweiterung der Fallstudie} In diesem Abschnitt werden verschiedene Erweiterungen der Fallstudie vorgestellt und daraus resultierende Constraints ebenfalls in die Taxonomie eingeordnet werden. diff --git a/sections/einleitung.tex b/sections/einleitung.tex index ee452c4ad0d6bd04190bd54698de8598768e4c2c..061ee78549a2ee9f58e93b69fffc10a3e2afe18c 100644 --- a/sections/einleitung.tex +++ b/sections/einleitung.tex @@ -1,11 +1,11 @@ +\newpage\null\newpage \chapter{Einleitung}\label{ch:introduction} Die Adaption von Robotern in der Industrie nimmt von Jahr zu Jahr zu. Die International Federation of Robotics meldet für 2018 einen Investitionsrekord von 16,5 Milliarden US Dollar in industrielle Robotik und erwartet bis 2022 ein durchschnittliches Wachstum von 12 Prozent pro Jahr~\cite{ifr_industrial_nodate}. Noch sind jedoch nicht alle Probleme besser von Robotern als von Menschen lösbar. Insbesondere die sensorischen Fähigkeiten des Roboters und die Entscheidungsfindung in unsicheren oder unbekannten Situationen sind den Fähigkeiten des Menschen noch unterlegen. Statt der Ersetzung des Menschen, scheint eine aktive Zusammenarbeit von Mensch und Roboter eine höhere Effizienz zu bieten. Das spiegelt sich auch in der zunehmenden Entwicklung von kollaborativen Robotern (Cobots) wider. Diese sind in der Regel kleiner, schwächer und günstiger als herkömmliche industrielle Roboter und sind in der Lage in Echtzeit auf ihre Umgebung zu reagieren und so - ohne die Notwendigkeit eines Sicherheitskäfigs - eine direkte Zusammenarbeit mit Menschen zu ermöglichen~\cite{tactile_internet_ceti}. Gerade in unbekannten und sich ändernden Umgebungen ist es nicht praktikabel Bewegungen und Handlungen des Roboters für alle Eventualitäten vorzudefinieren. Stattdessen soll er in der Lage sein, selbstständig sein Verhalten und seine Bewegungen neuen Situationen anzupassen. Um Sicherheitsanforderungen umzusetzen und die erwartete Ausführung von Aufgaben zu gewährleisten, können dem Roboter Einschränkungen (Constraints) auferlegt werden. Dadurch bleibt die lokale Planung Aufgabe des Planungsalgorithmus des Roboters. Die Menge an gültigen Lösungen wird aufgrund der Constraints jedoch soweit eingeschränkt, dass der Roboter ein erwartungsgemäßes Verhalten zeigt und an ihn gestellte Anforderungen erfüllt. -\paragraph{}Das Ziel dieser Arbeit besteht darin mögliche Arten von anwendbaren Constraints für Arbeitsbereiche, Bewegungen und Handlungen zu identifizieren, analysieren und -nachfolgend taxonomisch zu erfassen. Einschränkungen dieser Arten sind dabei von Zeit, Arbeitskontext -und aktueller Aufgabe eines Cobots abhängig. +\paragraph{}Das Ziel dieser Studienarbeit ist die Analyse und Anwendung robotischer Constraints, zur Einschränkung und Steuerung industrieller Manipulatoren. +Die analysierten Constraints sollen in einer Taxonomie klassifiziert werden, die als Hilfestellung bei der Entwicklung neuer Robotikanwendungen dienen kann. \begin{figure} \centering @@ -14,15 +14,12 @@ und aktueller Aufgabe eines Cobots abhängig. \label{fig:aufgabenstellung} \end{figure} -Neben einer konzeptionellen Analyse der verschiedenen Einschränkungen erfolgt eine Evaluation anhand eines einfachen Anwendungsfalls einer kollaborativer Mensch-Roboter-Interaktion. In diesem Anwendungsfall werden zwei Roboter betrieben. Wie in Abbildung~\ref{fig:aufgabenstellung} dargestellt, ist der erste Roboter ist dafür verantwortlich -ein Gefäß mit einer Flüssigkeit aus einem anderen Gefäß zu befüllen. Diese Aktion wird -durch einen Menschen explizit eingeleitet. Der zweite Roboter nimmt das befüllte Gefäß entgegen -und stellt es schließlich dem menschlichen Nutzer bereit. Dies geschieht wiederum automatisch. +Neben einer konzeptionellen Analyse der verschiedenen Einschränkungen erfolgt eine Evaluation anhand eines einfachen Anwendungsfalls einer kollaborativer Mensch-Roboter-Interaktion. In diesem Anwendungsfall werden zwei Roboter betrieben. Wie in Abbildung~\ref{fig:aufgabenstellung} dargestellt, ist der erste Roboter, dafür verantwortlich +ein leeres Gefäß mit einer Flüssigkeit aus einem anderen Gefäß zu befüllen, nachdem dieses von einem Menschen bereitgestellt wurde. Anschließend nimmt er das nun gefüllte Gefäß auf und stellt es an einem Übergabeort ab. Der zweite Roboter nimmt das befüllte Gefäß entgegen und stellt es schließlich dem menschlichen Nutzer bereit. Beide Aktionen erfordern unter anderem die Einschränkung der Neigung des Endeffektors, des Arbeitsbereiches und der Geschwindigkeit. Die technische Basis für die Implementierung wird hierbei durch das Robot Operation System (ROS)\footnote{https://www.ros.org}, in Zusammenwirkung mit dem Planungs- Frameworks MoveIt\footnote{https://moveit.ros.org}, gebildet. -Anhand des Anwendungsfalls wird die Anwendbarkeit der zuvor untersuchten Einschränkungen untersucht, wobei die in der Fallstudie identifizierten Einschränkungen in die erstellte -Taxonomie eingeordnet werden. Um die Vollständigkeit der Taxonomie bezüglich kollaborativer Robotik-Anwendungen zu untersuchen, werden zudem mögliche Erweiterungen der Fallstudie konzipiert und daraus resultierende weitere benötigte Einschränkungen ebenfalls eingeordnet. +Anhand des Anwendungsfalls wird die Anwendbarkeit der zuvor untersuchten Einschränkungen untersucht, wobei die in der Fallstudie identifizierten Einschränkungen in die erstellte Taxonomie eingeordnet werden. Um die Vollständigkeit der Taxonomie bezüglich kollaborativer Robotik-Anwendungen zu untersuchen, werden zudem mögliche Erweiterungen der Fallstudie konzipiert und daraus resultierende weitere benötigte Einschränkungen ebenfalls eingeordnet. -\paragraph{} Die Arbeit besteht aus 4 Teilen. ~\Cref{ch:basics} erklärt grundlegende Begrifflichkeiten aus dem Umfeld der Robotik, die in späteren Kapiteln benötigt werden. In ~\Cref{ch:taxonomy} werden verschiedene Constraints von Arbeitsbereich, Bewegung und Handlung eines Roboters beschrieben und in eine allgemeine Taxonomie eingeordnet. ~\Cref{ch:implementation} dokumentiert den Entwurf, die Implementierung und die Evaluation der Fallstudie, in der die Anwendbarkeit und Erweiterbarkeit der Taxonomie überprüft wird. In~\Cref{ch:conclusion} werden die Ergebnisse noch einmal zusammengefasst und ein Ausblick für mögliche zukünftige Arbeiten gegeben. \ No newline at end of file +\paragraph{} Die Arbeit besteht aus 6 Teilen. \Cref{ch:basics} erklärt grundlegende Begrifflichkeiten aus dem Umfeld der Robotik, die in späteren Kapiteln benötigt werden. In \Cref{ch:taxonomy} werden verschiedene Constraints von Arbeitsbereich, Bewegung und Handlung eines Roboters beschrieben und in eine allgemeine Taxonomie eingeordnet. \Cref{ch:implementation} dokumentiert den Entwurf und die Implementierung der Fallstudie. In \Cref{ch:eval} wird die Implementation hinsichtlich der Einhaltung der Constraints überprüft und die angewandten Constraints nochmals in die Taxonomie eingeordnet. \Cref{ch:future_work} gibt einen Ausblick auf mögliche zukünftige Arbeiten und \Cref{ch:conclusion} fasst die Ergebnisse dieser Arbeit noch einmal zusammen. \ No newline at end of file diff --git a/sections/eval.tex b/sections/eval.tex index 966a6096c57ea6f11221d1a018a3a6e640330e60..d6e12c9768772512e5b9e9a1a2e4bdf815ea6a45 100644 --- a/sections/eval.tex +++ b/sections/eval.tex @@ -1,4 +1,4 @@ -\chapter{Evaluation} +\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. @@ -83,7 +83,7 @@ Die Initialisierung der Simulationsumgebung geschieht in einem Zuge mit dem Hinz \label{fig:cobot_2_sim} \end{figure} -Um die Einhaltung der Constraints zu validieren, wurde die Beschleunigung, die Geschwindigkeit und die Orientierung des Endeffektors zur Laufzeit der Simulation aufgezeichnet und in einem Graphen dargestellt. In Abbildung~\ref{fig:velocity_eval} ist zu sehen, dass die Beschleunigung, während der Handhabung von gefüllten Behältern, geringer ist, als während der Handlungen in denen das nicht der Fall ist. Abbildung~\ref{fig:orientation_eval} zeigt die Orientierung des Endeffektors, relativ zur Welt. Es ist ersichtlich, dass die Orientierung, während der Handhabung von Objekten, innerhalb der Toleranzgrenzen bleibt, die bei der Erstellung des Orientierungs-Constraints definiert wurden (siehe Quelltext~\ref{lst:orientation_constraint}). +Um die Einhaltung der Constraints zu validieren, wurde die Beschleunigung, die Geschwindigkeit, die Orientierung des Endeffektors und der Abstand zur Sicherheitszone zur Laufzeit der Simulation aufgezeichnet und in einem Graphen dargestellt. Dabei wurde lediglich Cobot 1 betrachtet, da die Handlungen und Constraints des zweiten Cobots eine Teilmenge des ersten Cobots sind. In Abbildung~\ref{fig:velocity_eval} ist zu sehen, dass die Beschleunigung, während der Handhabung von gefüllten Behältern, geringer ist, als während der Handlungen in denen das nicht der Fall ist. Abbildung~\ref{fig:orientation_eval} zeigt die Orientierung des Endeffektors, relativ zur Welt. Es ist ersichtlich, dass die Orientierung, während der Handhabung von Objekten, innerhalb der Toleranzgrenzen bleibt, die bei der Erstellung des Orientierungs-Constraints definiert wurden (siehe Quelltext~\ref{lst:orientation_constraint}). Abbildung~\ref{fig:safezone_eval} zeigt noch den Abstand aller Glieder des Roboters zur Sicherheitszone. Diese wird erst beim Platzieren des Glases und nach erfolgreicher Anfrage an den \textit{SafezoneController} geschnitten. Link 0 und Link 1 sind nicht zu erkennen, da sie ebenfalls einen konstanten Abstand halten und von der Kurve von Link 2 überdeckt werden. \begin{figure} \centering diff --git a/sections/grundlagen.tex b/sections/grundlagen.tex index 54d04c756e941cf69982ac87ee9b335d87bc6dab..2fb2dfdabaa2cea1c1b28681aa8e5384aebb990e 100644 --- a/sections/grundlagen.tex +++ b/sections/grundlagen.tex @@ -1,3 +1,4 @@ +\newpage\null\newpage \chapter{Grundlagen}\label{ch:basics} Einige der wesentlichen Begriffe dieser Arbeit besitzen keine eindeutige Definition. Daher werden diese Begriffe zunächst kurz erklärt und eine für diese Arbeit geltende Definition festgelegt. @@ -9,7 +10,7 @@ Diese Arbeit bezieht sich in erster Linie auf industrielle Roboter oder auch ind \section{Cobots} -Roboter sind dem Menschen in vielen Bereichen deutlich überlegen. So sind sie durchgängig einsetzbar und arbeiten weitaus genauer, als es einem Menschen möglich wäre. Die Überwachung und Entscheidungsfindung obliegt jedoch oft noch dem Menschen \textcolor{blue}{Zum Beispiel:}. Gerade in Bereichen, die ein hohes Maß an individualisierten Arbeitsschritten enthalten, ist es heute noch nicht praktikabel menschliche Arbeiter vollständig zu ersetzen. Um trotzdem auch die Vorteile des Einsatzes von Robotern auszunutzen, ist es wichtig eine Umgebung zu schaffen, in der Roboter und Menschen sich einen gemeinsamen Arbeitsbereich teilen~\cite{siciliano_springer_2008}. +Roboter sind dem Menschen in vielen Bereichen deutlich überlegen. So sind sie durchgängig einsetzbar und arbeiten weitaus genauer, als es einem Menschen möglich wäre. Die Überwachung und Entscheidungsfindung obliegt jedoch oft noch dem Menschen. Gerade in Bereichen, die ein hohes Maß an individualisierten Arbeitsschritten enthalten, wie beim Zusammenbau von individualisierbaren Komponenten in der Automobilindustrie~\cite{michalos_design_2015}, ist es heute noch nicht praktikabel menschliche Arbeiter vollständig zu ersetzen. Um trotzdem auch die Vorteile des Einsatzes von Robotern auszunutzen, ist es wichtig eine Umgebung zu schaffen, in der Roboter und Menschen sich einen gemeinsamen Arbeitsbereich teilen~\cite{siciliano_springer_2008}. In solchen kollaborativen Zellen ist es notwendig, dass der Roboter eine Reihe von Sicherheitsbestimmungen gerecht wird~\cite{ISO_15066} und in der Lage ist, auf unerwartetes Verhalten des Menschen zu reagieren. Indem er sein eigenes Verhalten entsprechend anpasst und dadurch Verletzungen verhindert, kann eine stets sichere Arbeitsumgebung gewährleistet werden~\cite{tactile_internet_ceti}. Erfüllt ein Roboter diese Vorgaben und kann für kollaborative Arbeiten mit Menschen eingesetzt werden, spricht man von einem Cobot. \section{Pose} diff --git a/sections/tax_einordnung.tex b/sections/tax_einordnung.tex index aee70dd0760a4b5d13bf0862874d8d669453fbdc..d0ed10efa4ba0d2860536a980c2cd6bef3457953 100644 --- a/sections/tax_einordnung.tex +++ b/sections/tax_einordnung.tex @@ -1,3 +1,4 @@ +\newpage\null\newpage \chapter{Taxonomische Einordnung von Constraints}\label{ch:taxonomy} Im folgenden werden mögliche Arten von Constraints für die Pfadgenerierung (Motion Planning), die Handlung und die Bewegung von Robotern analysiert, erläutert und in einer Taxonomie eingeordnet. Eine grafische Darstellung der Taxonomie ist in Abbildung~\ref{fig:taxonomie} zu sehen. diff --git a/sections/zusammenfassung.tex b/sections/zusammenfassung.tex index b60a10401bf9ab14e0122dd16f427e0b31feb18d..7da079f6dbe03ded53a1965f0230b83b736b621b 100644 --- a/sections/zusammenfassung.tex +++ b/sections/zusammenfassung.tex @@ -1,10 +1,11 @@ +\newpage\null\newpage \chapter{Zusammenfassung}\label{ch:conclusion} Ziel dieser Arbeit war es mögliche Arten von Constraints für industrielle Roboter taxonomisch einzuordnen und ihre Anwendbarkeit anhand einer Fallstudie zu demonstrieren. Die entstandene Taxonomie ist in Abbildung~\ref{fig:taxonomie} dargestellt. Sie liefert einen Überblick über anwendbare Constraints und soll als Hilfestellung bei der Erstellung neuer Robotikanwendungen dienen. Einen Anspruch auf Vollständigkeit erhebt sie dabei nicht, wenngleich verschiedene Konzepte zur Erweiterung der Fallstudie keine weiteren Constraints erforderlich gemacht haben, die nicht in der Taxonomie einsortierbar waren. Im Zuge der Fallstudie wurde ein kollaborativer Anwendungsfall zwischen zwei Robotern und einem Menschen untersucht. Dieser Anwendungsfall beinhaltete sowohl die Handhabung von mit Flüssigkeit befüllten Behältern, als auch das Umfüllen dieser Flüssigkeit und der Interaktion mit einem menschlichen Akteur. Dazu wurden dem Roboter abhängig von der aktuellen Aufgabe Constraints auf die Orientierung des Endeffektors, seine Geschwindigkeit und Beschleunigung und seines Arbeitsbereichs auferlegt. -Die Implementierung erfolgte in \textit{C++} unter der Verwendung des Robot Operating Systems (ROS) und des Motion Planning Frameworks MoveIt. Um die Demo erweiterbar zu halten, wurde ein Interface erstellt, welches von weiteren Constraints implementiert werden kann. Die Positionen und Eigenschaften der Objekte in der Welt sind über eine Konfigurationsdatei definiert und können dadurch an eine neue Ausgangssituation angepasst werden. Die erfolgreiche Anwendung der in der Fallstudie benötigten Constraints wurde anhand einer Versuchsreihe nachgewiesen \textcolor{blue}{(anpassen falls Evaluation nicht erfolgreich)}. +Die Implementierung erfolgte in \textit{C++} unter der Verwendung des Robot Operating Systems (ROS) und des Motion Planning Frameworks MoveIt. Um die Demo erweiterbar zu halten, wurde ein Interface erstellt, welches von weiteren Constraints implementiert werden kann. Die Positionen und Eigenschaften der Objekte in der Welt sind über eine Konfigurationsdatei definiert und können dadurch an eine neue Ausgangssituation angepasst werden. Die erfolgreiche Anwendung der in der Fallstudie benötigten Constraints wurde anhand einer Versuchsreihe nachgewiesen. diff --git a/thesis.tex b/thesis.tex index 8cf768bd18b283f77e401dc0bd001a1ca9aa3f73..a7cfd07535b5fc86553617b875274c00cfdd52bc 100644 --- a/thesis.tex +++ b/thesis.tex @@ -130,8 +130,8 @@ \newpage % Aufgabenstellung -% Selbstständigkeitserklärung -% Abstract +\confirmation + \tableofcontents \listoffigures @@ -151,6 +151,4 @@ \appendix \input{sections/appendix} -\confirmation - \end{document}