diff --git a/bibliography.bib b/bibliography.bib index ab312f4c1c128138da08bef8be1a3c849a7670eb..47877fec4e0a53cdd09e286e3fa5829ce4183838 100644 --- a/bibliography.bib +++ b/bibliography.bib @@ -481,25 +481,13 @@ urldate = {2021-01-20}, } -@book{siciliano_springer_2008-Obstacles, - address = {Berlin}, - title = {Springer handbook of robotics}, - isbn = {978-3-540-23957-4}, - language = {en}, - publisher = {Springer}, - editor = {Siciliano, Bruno and Khatib, Oussama}, - pages = {838--843}, - year = {2008}, - note = {OCLC: ocn153562054}, - keywords = {Handbooks, manuals, etc, Robotics}, -} - -@book{fitzek_li_speidel_strufe_simsek_reisslein, - title={CeTI Book}, - author={Fitzek, Frank H. P. and Li, Shu-Chen and Speidel, Stefanie and Strufe, Thorsten and Simsek, Meryem and Reisslein, Martin}, - year = {2020}, - month = {10}, +@book{tactile_internet_ceti, + title={Tactile Internet With Human-In-The-Loop}, + author={{Frank H.P. Fitzek}, {Shu-Chen Li}, {Stefanie Speidel}, {Thorsten Strufe}, {Meryem Simsek}, {Martin Reisslein}}, + year = {2021}, + month = {4}, pages = {41--75}, + isbn = {9780128213438}, } @book{koubaa_anis_2016, diff --git a/sections/einleitung.tex b/sections/einleitung.tex index ce9eacff83e4ac56e0d5c27f3d4214a08eac07be..a584232c2cf6388fba906f9abd48ebdfc43f7264 100644 --- a/sections/einleitung.tex +++ b/sections/einleitung.tex @@ -1,22 +1,21 @@ \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\footnote{\url{https://ifr.org/ifr-press-releases/news/robot-investment-reaches-record-16.5-billion-usd}}. 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{fitzek_li_speidel_strufe_simsek_reisslein}. +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\footnote{\url{https://ifr.org/ifr-press-releases/news/robot-investment-reaches-record-16.5-billion-usd}}. 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 flexiblen Umgebungen ist es nicht praktikabel alle Bewegungen und Handlungen für alle Eventualitäten vorzudefinieren. Stattdessen soll ein Roboter in der Lage sein, selbstständig sein Verhalten und seine Bewegungen anzupassen. Um Sicherheitsanforderungen umzusetzen und die erwartete Ausführung von Aufgaben zu gewährleisten, können dem Roboter Einschränkungen (Constraints) auferlegt werden, wodurch die situationsabhängige und lokale Planung Aufgabe des Planungsalgorithmus des Roboters bleibt. Die Menge an gültigen Lösungen wird durch die Constraints jedoch soweit eingeschränkt, dass der Roboter ein erwartungsgemäßes Verhalten zeigt. +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. -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. Der erste Roboter ist verantwortlich +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. 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. -Beide Aktionen erfordern unter anderem die Einschränkung der Neigung des Endeffektors, sowie des Arbeitsbereiches -und der Geschwindigkeit. Die technische Basis für die Implementierung wird +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. -\paragraph{Aufbau der Arbeit:} 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 Implementation 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{Aufbau der Arbeit:} 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 diff --git a/sections/grundlagen.tex b/sections/grundlagen.tex index 63278c942a1b8b71f7eb56a9e4d3f19a9abda0a2..1c32eb319247e20153558d323c6302bad5f41452 100644 --- a/sections/grundlagen.tex +++ b/sections/grundlagen.tex @@ -1,5 +1,5 @@ \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. +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. \section{Roboter} @@ -9,28 +9,29 @@ 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 weiterhin dem Menschen. Gerade in Bereichen, die ein hohes Maß an individualisierten Arbeitsschritten enthalten, ist 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 \textcolor{blue}{[ISO 15066]} und in der Lage ist, auf unerwartetes Verhalten des Menschen zu reagieren und sein eigenes Verhalten automatisch anzupassen, um Verletzungen zu verhindern und stets eine sichere Arbeitsumgebung zu gewährleisten~\cite{fitzek_li_speidel_strufe_simsek_reisslein}. Erfüllt ein Roboter diese Vorgaben und kann für kollaborative Arbeiten mit Menschen eingesetzt werden, spricht man von einem Cobot. +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}. +In solchen kollaborativen Zellen ist es notwendig, dass der Roboter eine Reihe von Sicherheitsbestimmungen gerecht wird \textcolor{blue}{[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} -Die Pose eines Roboters beschreibt seine Position und Orientierung im Raum~\cite{siciliano_springer_2008}. Die Pose eines Manipulators kann durch die Rotationswerte der einzelnen Gelenke eindeutig definiert werden. +Die Pose eines Roboters beschreibt seine Position und Orientierung im Raum~\cite{siciliano_springer_2008}. Im Raum definiert werden kann eine Pose im \glqq Joint Space\grqq{} und im \glqq Cartesian Space\grqq{}. Eine Definition im \glqq Joint Space\grqq{} ist vollständig, da in ihr der Wert jedes Gelenks definiert ist. In der Regel ist aber vor allem die Pose des Endeffektors von Interesse. Durch einer Vorwärtstransformation oder auch Vorwärtskinematik, kann diese Pose anhand der Gelenkwerte bestimmt werden. Eine Beschreibung im \glqq Cartesian Space\grqq{} ist nicht vollständig, da hier lediglich die Pose des Endeffektors, in Form von kartesischen Koordinaten, definiert ist \textcolor{blue}{[Quelle]}. +Für eine vollständige Beschreibung einer gültigen Pose muss daher noch eine Rückwärtstransformation berechnet werden. + +Rückwärtstransformation oder auch Inverskinematik bezeichnet die Berechnung einer Konfiguration der Gelenkwerte, die in der Pose des Endeffektors resultieren. Damit eine Lösung gefunden werden kann, muss der Zielzustand innerhalb des Arbeitsbereichs des Roboters liegen. Aber auch dann kann es sowohl keine als auch mehrere Lösungen geben~\cite{siciliano_springer_2008}. +Dadurch ist es möglich, dass im \glqq Joint Space\grqq{} auch mehrere Posen existieren, die der Definition im \glqq Cartesian Space\grqq{} genügen. \section{Pfad und Trajektorie} Der Pfad und die Trajektorie beschreiben eine Folge von Posen im Raum, die vom Roboter eingenommen werden sollen. Die Trajektorie enthält darüber hinaus auch Zeitabhängigkeiten und damit auch Informationen über Geschwindigkeit und Beschleunigung. Die Pfadplanung geht der Trajektorienplanung daher stets voraus, auch wenn beide Schritte nicht zwangsläufig separat erfolgen müssen~\cite{carbone_path_2015}. \section{Motion Planning} -Motion Planning beschreibt die Aufgabe eine kontinuierliche und kollisionsfreie Trajektorie von einem gegebenen Startzustand zu einem Zielzustand zu finden~\cite{siciliano_springer_2008} \cite{sucan_open_2012}. - -Zum Lösen dieser Aufgabe, muss der Roboter in der Lage sein die Position und die Orientierung seiner Elemente anhand der vorangegangenen Gelenkwerte zu berechnen. Diese Berechnung wird Vorwärtstransformation oder auch Vorwärtskinematik genannt~\cite{siciliano_springer_2008}. - -Ist der Zielzustand als Pose des Endeffektors definiert, muss eine Konfiguration der Gelenkwerte gefunden werden, die in dieser Pose des Endeffektors resultiert. Die Berechnung der Konfiguration wird Rückwärtstransformation oder Inverskinematik genannt. Damit eine Lösung gefunden werden kann, muss der Zielzustand innerhalb des Arbeitsbereichs des Roboters liegen. Aber auch dann kann es sowohl keine als auch mehrere Lösungen geben~\cite{siciliano_springer_2008}. +Motion Planning beschreibt die Aufgabe eine kontinuierliche und kollisionsfreie Trajektorie von einem gegebenen Startzustand zu einem Zielzustand zu finden~\cite[Seite 109]{siciliano_springer_2008} \cite{sucan_open_2012}. -Im Raum definiert werden kann eine Pose im \glqq Joint Space\grqq{} und im \glqq Cartesian Space\grqq{}. Eine Definition im \glqq Joint Space\grqq{} ist vollständig, da in ihr der Wert jedes Gelenks definiert ist. Eine Beschreibung im \glqq Cartesian Space\grqq{} hingegen ist nicht vollständig, da hier lediglich die Pose des Endeffektors, in Form von kartesischen Koordinaten, definiert ist. Für eine vollständige Beschreibung einer gültigen Pose muss daher noch eine Rückwärtstransformation berechnet werden. Da eine Rückwärtstransformation mehrere Lösungen haben kann, is es möglich, dass im \glqq Joint Space\grqq{} auch mehrere Posen existieren, die der Definition im \glqq Cartesian Space\grqq{} genügen. +Das Finden einer optimalen Trajektorie ist PSPACE-vollständig und daher schwer zu implementieren und rechnerisch zu lösen. In der Praxis hat sich daher, für die meisten Anwendungsfälle, der alternativer Ansatz des Sampling-Based Planning durchgesetzt~\cite[Kapitel 5.1.3]{siciliano_springer_2008}. -Das Finden einer optimalen Trajektorie ist PSPACE-vollständig und daher schwer zu implementieren und rechnerisch zu lösen. In der Praxis hat sich daher, für die meisten Anwendungsfälle, der alternativer Ansatz des Sampling-Based Planning durchgesetzt~\cite{siciliano_springer_2008}. Dieser ist einfacher zu implementieren, bietet aber keinen \glqq vollständigen\grqq{} Algorithmus. Das bedeutet, falls eine Lösung existiert, wird diese in unbestimmter Zeit auch gefunden, jedoch kann die Nicht-Existenz einer Lösung nicht festgestellt werden, wodurch eine Abbruchbedingung notwendig wird, die nach einer bestimmten Zeit die Suche nach einer Trajektorie beendet, um eine Blockierung zu verhindern~\cite{sucan_open_2012}.\textcolor{blue}{Sampling-Based Planning erklären} +Ein Sampling-Based Planner greift auf einen vorhandenen Algorithmus zur Kollisionserkennung zurück, der verwendet wird, um einzelne Konfigurationen des Roboters auf Kollisionsfreiheit zu überprüfen. Die Trajektorie entsteht aus einer Kette an kollisionsfreien Konfigurationen, beginnend an der Startkonfiguration und endend an der Zielkonfiguration. Die Schrittgröße zwischen den einzelnen Konfigurationen ist dabei möglichst klein zu wählen, damit davon ausgegangen werden kann, dass es während der Bewegung zwischen ihnen zu keinen Kollisionen kommt. +Diese Art Planer ist auch in der Lage eine Lösung für Systeme mit mehr als drei Freiheitsgraden zu finden~\cite[Kapitel 5.2]{siciliano_springer_2008}. Existiert eine Lösung, so wird diese auch in endlicher Zeit gefunden, jedoch kann die Nicht-Existenz einer Lösung nicht festgestellt werden, wodurch eine Abbruchbedingung notwendig wird, die nach einer bestimmten Zeit die Suche nach einer Trajektorie beendet, um eine Blockierung zu verhindern~\cite{sucan_open_2012}. \section{Constraints} -Die physischen Eigenschaften des Roboters, resultieren in der realen Welt immer in Einschränkungen (Constraints) für seine Bewegung. Diese lassen sich in globale und lokale Constraint unterteilen. Während globale Constraints sich aus den Hindernissen in der Welt und möglichen Gelenklimits der Roboters ergeben, limitieren lokale Constraints die Geschwindigkeit und Beschleunigung, aufgrund der kinematischen und dynamischen Eigenschaften, wie die Erhaltung von Drehimpulsen~\cite{siciliano_springer_2008}. +Die physischen Eigenschaften des Roboters, resultieren in der realen Welt immer in Einschränkungen (Constraints) für seine Bewegung. Diese lassen sich in globale und lokale Constraints unterteilen. Während globale Constraints sich aus den Hindernissen in der Welt und möglichen Gelenklimits der Roboters ergeben, limitieren lokale Constraints die Geschwindigkeit und Beschleunigung, aufgrund der kinematischen und dynamischen Eigenschaften, wie die Erhaltung von Drehimpulsen~\cite{siciliano_springer_2008}. Neben den natürlich gegebenen Constraints, können dem Planer noch weitere Beschränkungen auferlegt werden. Dadurch ist es möglich das Verhalten und die Bewegung des Roboters an die aufgabenspezifischen Anforderungen anzupassen, die Aufgabe des Motion Planning aber weiterhin einem Algorithmus zu überlassen. Häufig wird bei Constraints auch zwischen holonomen und nicht-holonomen Constraints unterschieden. Erstere können mathematisch alleine durch Gleichungen beschrieben werden, die lediglich von Positionen im Raum und optional auch der Zeit abhängig sind. Für nicht-holonomen Constraints ist mindestens eine Variable neben der Position auch von dessen zeitlicher Ableitung abhängig~\cite{berenson_constrained_nodate}. diff --git a/sections/implementierung.tex b/sections/implementierung.tex index 9a98353960e24a69bba21c075315ecfad71083e3..1d55e0369067ddbfce50b2b7d1a37097563ffc4a 100644 --- a/sections/implementierung.tex +++ b/sections/implementierung.tex @@ -138,6 +138,8 @@ Die Drucksensoren veröffentlichen ihren Zustand auf einem Topic, welches von de \textcolor{blue}{Kurze Beschreibung, wie die im Entwurf beschriebene Architektur unter Nutzung von ROS implementiert wurde und wie die Constraints in MoveIt! umgesetzt worden sind. + Schwierigkeiten} +Implementiert wurde die Demo in \textit{C++} und der ROS Distribution ROS Melodic Morenia\footnote{\url{http://wiki.ros.org/melodic}} auf einem Ubuntu 18.04 System. + \begin{figure} diff --git a/sections/tax_einordnung.tex b/sections/tax_einordnung.tex index 1b9db81d829ea9d747923caf3b7882d1e0b68d10..0c51af5754b2597d534f2c949a6e12a8ec496c9a 100644 --- a/sections/tax_einordnung.tex +++ b/sections/tax_einordnung.tex @@ -1,5 +1,5 @@ \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}. +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. \begin{figure} \centering @@ -10,7 +10,7 @@ Im folgenden werden mögliche Arten von Constraints für die Pfadgenerierung (Mo \section{Pfad-Constraints} -Der Pfad beschreibt den Weg, den der Roboter von einer Startpose zu einer Zielpose beschreitet. Er resultiert aus einem erfolgreichen Motion Planning. Die Berechnung eines möglichen Pfads hängt sowohl vom Arbeitsbereich des Roboters ab, als auch von angehängten Objekten oder Teilpfaden beziehungsweise Wegpunkten, die abgefahren werden müssen. +Der Pfad resultiert aus einem erfolgreichen Motion Planning. Die Berechnung eines möglichen Pfads hängt sowohl vom Arbeitsbereich des Roboters ab, als auch von angehängten Objekten oder Teilpfaden beziehungsweise Wegpunkten, die abgefahren werden müssen. \subsection{Arbeitsbereich} Der Arbeitsbereich eines Roboters beschreibt alle vom Endeffektor erreichbaren Punkte im Raum~\cite{siciliano_springer_2008}. Dabei lässt er sich nochmals in einen primären und sekundären Arbeitsbereich unterteilen. Der primäre Bereich enthält alle Punkte, die vom Endeffektor aus jeder Richtung, mit beliebiger Orientierung erreicht werden können. Der sekundäre Bereich ist eine Obermenge des primären Bereichs und enthält alle überhaupt erreichbaren Punkte~\cite{gupta_nature_1986}. @@ -19,10 +19,11 @@ Beschränkt wird der Arbeitsbereich durch den eigentlichen Wirkungsbereich des M \subsubsection{Wirkungsbereich} Der Wirkungsbereich eines Roboters beschreibt seinen theoretisch maximalen Arbeitsbereich. Er ergibt sich aus der Größe des Roboters und der maximalen Gelenkwerte. Die mechanischen Grenzen beschränken die Bewegungsfreiheit der einzelnen Gelenke und damit auch den Arbeitsbereich des Roboters. + \subsubsection{Kollaboration} Die Kollaboration mit Menschen oder anderen Robotern resultiert in weiteren Constraints, die sowohl beim Entwurf der Arbeitsumgebung, als auch beim Motion Planning berücksichtigt werden müssen. Eine sichere Kollaboration kann auf verschiedene Wege erreicht werden. -\paragraph{Sicherheitszonen}Matthias et al.~\cite{matthias_safety_2011} beschreiben eine Arbeitsumgebung, in der Roboter und Mensch ohne weitere Sicherheitsmechanismen permanent einen Arbeitsberich teilen und der Roboter zu jeder zeit harmlos für den Menschen sein soll. Sie präsentieren ein Sicherheitskonzept, welches es ermöglicht die Pfadplanung und -ausführung durchzuführen, ohne dass der Arbeitsbereich durch weitere Sensoren überwacht werden muss. Dazu werden folgende Anforderungen an den Cobot gestellt: +\paragraph{Sicherheitszonen}Matthias et al.~\cite{matthias_safety_2011} beschreiben eine Arbeitsumgebung, in der sich Roboter und Mensch ohne weitere Sicherheitsmechanismen permanent einen Arbeitsbereich teilen und der Roboter zu jeder Zeit harmlos für den Menschen sein soll. Sie präsentieren ein Sicherheitskonzept, welches es ermöglicht die Pfadplanung und -ausführung durchzuführen, ohne dass der Arbeitsbereich durch weitere Sensoren überwacht werden muss. Dazu werden folgende Anforderungen an den Cobot gestellt: \begin{enumerate} \item Mechanische Maßnahmen \begin{enumerate} @@ -38,7 +39,7 @@ Die Kollaboration mit Menschen oder anderen Robotern resultiert in weiteren Cons \item Andere Maßnahmen wie die Berücksichtigung von weiteren Gefahrenquellen durch bestimmte Werkstücke und Werkzeuge \end{enumerate} -Können diese Anforderungen nicht erfüllt werden, ist es notwendig den Arbeitsbereich zu überwachen, um auf die Anwesenheit eines Menschen oder anderen Roboters reagieren zu können. Eine allgemeine Möglichkeit, zur Modellierung einer Roboter Applikation, ist aus allen verfügbaren Informationen ein Weltmodell zu erstellen, welches alle Entitäten in der Umgebung des Roboters und den Roboter selbst enthält und ein Bewegungsmodell, welches alle Bewegungen beschreibt \textcolor{blue}{[Ceti book]}. Für Anwendungen, in denen es zu einer Überschneidung der Arbeitsbereiche kommen kann, können innerhalb des Weltmodells Sicherheitszonen definiert werden, die das Verhalten und die Bewegungsplanung des Roboters beeinflussen \textcolor{blue}{[Ceti book]}. George Michalos et al.~\cite{michalos_design_2015} definieren drei Strategien, wie auf das Auftreten eines neuen Hindernisses in einer solchen Sicherheitszone reagiert werden kann: +Können diese Anforderungen nicht erfüllt werden, ist es notwendig den Arbeitsbereich zu überwachen, um auf die Anwesenheit eines Menschen oder anderen Roboters reagieren zu können. Eine allgemeine Möglichkeit, zur Modellierung einer Roboter Applikation, ist aus allen verfügbaren Informationen ein Weltmodell zu erstellen, welches alle Entitäten in der Umgebung des Roboters und den Roboter selbst enthält und ein Bewegungsmodell, welches alle Bewegungen beschreibt~\cite{tactile_internet_ceti}. Für Anwendungen, in denen es zu einer Überschneidung der Arbeitsbereiche kommen kann, können innerhalb des Weltmodells Sicherheitszonen definiert werden, die das Verhalten und die Bewegungsplanung des Roboters beeinflussen~\cite{tactile_internet_ceti}. George Michalos et al.~\cite{michalos_design_2015} definieren drei Strategien, wie auf das Auftreten eines neuen Hindernisses in einer solchen Sicherheitszone reagiert werden kann: \textcolor{blue}{[Was wenn der Roboter eine Safezone betritt?]} @@ -65,13 +66,13 @@ Die einfachste aber auch ineffizienteste Strategie ist ein permanenter sicherer \subsubsection{Hindernisse} Da das Ziel des Motion Planning das Erstellen einer kollisionsfreie Trajektorie ist, beschränken Hindernisse innerhalb des Arbeitsbereich maßgeblich die gültigen Pfade. -Das Springer Handbook of Robotics~\cite{siciliano_springer_2008-Obstacles} definiert im Kapitel 35.9 eine Taxonomie der verschiedenen Darstellungsmöglichkeiten von Hindernissen und Algorithmen, diese zu vermeiden. Eine Visualisierung der Taxonomie ist in Abbildung~\ref{fig:obstacle_tax} dargestellt. +Das Springer Handbook of Robotics~\cite[Kapitel 35.9]{siciliano_springer_2008} definiert eine Taxonomie der verschiedenen Darstellungsmöglichkeiten von Hindernissen und Algorithmen, diese zu vermeiden. Eine Visualisierung der Taxonomie ist in Abbildung~\ref{fig:obstacle_tax} dargestellt. Im folgenden Abschnitt werden diese Möglichkeiten kurz erläutert. \begin{figure} \centering \includegraphics[height=\textheight, width=\textwidth, keepaspectratio]{images/Hinderniss_Taxonomie.png} - \caption{Taxonomie der Vorgehensweisen zur Hindernisvermeidung} + \caption{Taxonomie der Vorgehensweisen zur Hindernisvermeidung nach~\cite[Kapitel 35.9]{siciliano_springer_2008}} \label{fig:obstacle_tax} \end{figure} @@ -79,8 +80,12 @@ Im folgenden Abschnitt werden diese Möglichkeiten kurz erläutert. \paragraph{Ein-Schritt-Methoden} Ein-Schritt-Methoden sind Techniken zur Hindernisvermeidung, die Sensordaten direkt zur Bewegungssteuerung verwenden, ohne weitere Zwischenberechnungen durchzuführen. Dazu zählen unter anderem Methoden, die auf physikalischen Analogien basieren. Ein Beispiel für eine solche Analogie ist die Potentialfeldmethode, wo der Roboter als Partikel unter dem Einfluss eines Kräftefeldes angesehen wird. Die Zielposition übt eine anziehende Kraft auf das Partikel aus während es von Hindernissen abgestoßen wird. Die resultierende Bewegung ergibt sich aus der Summer der einwirkenden Kräfte. +\textcolor{blue}{Heuristische Methoden} + \paragraph{Mehr-Schritt-Methoden} -Bei Mehr-Schritt-Methoden werden einige Zwischeninformationen berechnet, die verarbeitet werden müssen, um eine Bewegung zu erhalten. Diese Methoden sind zum einen solche, die eine Untermenge an Bewegungsrichtungen berechnen, wie das Vektor-Feld-Histogramm oder die Hindernis-Begrenzungs-Methode \textcolor{red}{[Genauer auf die Beispiele eingehen?]} und solche, die eine Menge an Geschwindigkeitsreglungen berechnen, wie der dynamische Fensteransatz oder die Methode der Geschwindigkeitshindernisse. +Bei Mehr-Schritt-Methoden werden Zwischeninformationen berechnet, die verarbeitet werden müssen, um eine Bewegung zu erhalten. Diese Methoden sind zum einen solche, die eine Untermenge an Bewegungsrichtungen berechnen, wie das Vektor-Feld-Histogramm oder die Hindernis-Begrenzungs-Methode und solche, die eine Menge an Geschwindigkeitsreglungen berechnen, wie der dynamische Fensteransatz oder die Methode der Geschwindigkeitshindernisse. + +\textcolor{blue}{[Genauer auf die Beispiele eingehen]} \paragraph{} Eine allgemein optimale Methode lässt sich nicht festlegen. Diese hängt von den Anforderungen, der Geschwindigkeit des Roboters und der Hindernisse und die Unsicherheit über den Zustand der Welt. @@ -117,7 +122,7 @@ Die dritte Untergruppe der Constraints sind Beschränkungen in der Bewegung des \subsection{Geschwindigkeit} Die Begrenzung der Geschwindigkeit ist elementar für einen sicheren Betrieb im kollaborativen Umfeld. Die maximal zulässige Geschwindigkeit ist laut ISO 15066 \textcolor{blue}{[ISO Referenz]} abhängig von der Trägheit beziehungsweise der Masse des Roboters und der sich im Arbeitsbereich befindenden Körperregion des Menschen. Die oberen Grenzwerte sind in Abbildung~\ref{fig:v_max} dargestellt. Bei Kollisionen unterhalb dieser Grenzen soll es zwar zu leichten Verletzungen wie einem Bluterguss kommen können, schwerere Verletzungen, wie die Penetration der Haut oder Brüche, können dadurch aber verhindert werden. -Neben der Begrenzung der Geschwindigkeit aus Sicherheitsgründen können auch aufgabenspezifische Anforderungen eine weitere Einschränkung erfordern. +Neben der Begrenzung der Geschwindigkeit aus Sicherheitsgründen können auch aufgabenspezifische Anforderungen eine weitere Einschränkung erfordern. Eine solche Anforderung wäre zum Beispiel das Reißen einer Schweißnaht zu verhindern. \begin{figure} \centering