Der Fortschritt in der Entwicklung von Industrierobotern hat sich in den letzten Jahren erheblich beschleunigt.
Eine der treibenden Kräfte hinter dieser Entwicklung ist das kollaborative Arbeiten von Menschen und Robotern.
Im Bereich der kollaborativen Roboter (Cobots) werden dadurch entwickelte Fähigkeiten genutzt, um Roboter sicher außerhalb von Sicherheitskäfigen und in der Nähe bzw. im direkten Kontakt mit Menschen einzusetzen.
Ein solcher Arbeitsbereich, in dem ein oder mehrere Cobots eine
kollaborative Aufgabe zusammen mit einer beliebigen Anzahl von Menschen durchführen wird als cobotische Zelle bezeichnet.
Hierfür gibt es viele Anwendungsfälle, z.B. als Teil
einer kollaborativen Montagelinie, auf Baustellen oder in medizinischen
Umgebungen.
Dies bedeudet, dass Cobots ihre Bewegungen einschränken müssen um jede Art von Schaden an Mensch und Umgebung zu verhindern.
Das Ziel dieser Arbeit besteht darin mögliche Arten von anwendbaren Einschränkungen (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 verschiendenen Einschränkungen soll eine Evaluation anhand eines einfachen Anwendungsfalls einer kollaborativer Mensch-Roboter-Interaktion erfolgen.
In diesem Anwendungsfall werden zwei Roboter betrieben.
Der erste Roboter ist 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 die Einschränkung der Neigung des Endeffektors, sowie des Arbeitsbereiches und der Geschwindigkeit.
Die technische Basis für die Implementierung wird hierbei durch das Robot Operation System (ROS)~\footnote{\url{https://www.ros.org}} in Zusammenwirkung mit dem Planungs-Frameworks MoveIt~\footnote{\url{https://moveit.ros.org}} gebildet.
Anhand des Anwendungsfalls soll die Anwendbarkeit der zuvor untersuchten Einschränkungen untersucht werden, wobei die in der Fallstudie identifizierten Einschränkungen in die erstellte Taxonomie eingeordnet werden sollen. Um die Vollstandigkeit der Taxonomie bezüglich kollaboativer Robotik-Anwendungen zu untersuchen, sollen zudem mögliche Erweiterungen der Fallstudie konzipiert und daraus resultierende weitere benötigte Einschränkungen ebenfalls eingeordnet werden.
\paragraph{Schwerpunkte der Arbeit}
\begin{enumerate}[noitemsep]
\item Ermittlung von Einschränkungen von Arbeitsbereichen, Bewegungen und Handlungen sowie deren Abhägigkeit von Kontext, Zeit, und Aufgabe des Roboters
\item Taxonomische Einordnung der ermittelten Einschränkungen
\item Anwendung ausgewählter Einschränkungen in einem Szenario der Roboter-Mensch-Kollaboration
\item Untersuchung weiterer Einschränkungen durch Konzeption von Erweiterungen der Fallstudie
@@ -17,23 +17,23 @@ Die Pose eines Roboters beschreibt seine Position und Orientierung im Raum~\cite
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.
Dadurch ist es möglich, dass im \glqq Joint Space\grqq{} 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}.
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 Zeitabhängigkeiten und damit 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}.
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}.
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. Dabei wird eine Menge an kollisionsfreien Konfigurationen im Arbeitsbereich erstellt und erweitert, bis eine Kette von Konfigurationen gefunden wird, die die Start- und Ziel-Pose miteinander verbindet. Zur Überprüfung der Kollisionsfreiheit, greift er auf einen vorhandenen Algorithmus zur Kollisionserkennung zurück. Die Schrittgröße zwischen den einzelnen Konfigurationen ist dabei möglichst klein zu wählen, da für die Bewegung zwischen den Konfigurationen keine weitere Kollisionserkennung erfolgt ~\cite[Kapitel 5.1.3]{siciliano_springer_2008}.
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}.
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 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 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}.
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 von dessen zeitlicher Ableitung abhängig~\cite{berenson_constrained_nodate}.
Die Holonomie eines Constraints wird auch maßgeblich von der Art des Roboters bestimmt. In dieser Arbeit werden nur stationäre Manipulatoren betrachtet und keine mobilen Roboter. Bei stationären Manipulatoren können die meisten Constraints durch Gleichungen beschrieben werden, die ausschließlich von den Gelenkwerten abhängig sind~\cite[Kapitel 1.3.6]{siciliano_springer_2008}. Daher sind die in der nachfolgenden Taxonomie dargestellten Constraints, bis auf die Geschwindigkeit und Beschleunigung, als holonome Constraints einzuordnen.
Die Holonomie eines Constraints wird maßgeblich von der Art des Roboters bestimmt. In dieser Arbeit werden nur stationäre Manipulatoren betrachtet und keine mobilen Roboter. Bei stationären Manipulatoren können die meisten Constraints durch Gleichungen beschrieben werden, die ausschließlich von den Gelenkwerten abhängig sind~\cite[Kapitel 1.3.6]{siciliano_springer_2008}. Daher sind die in der nachfolgenden Taxonomie dargestellten Constraints, bis auf die Geschwindigkeit und Beschleunigung, als holonome Constraints einzuordnen.