From c5e91e77c2edc1903a2fca1d77ab2b5357cdf36f Mon Sep 17 00:00:00 2001 From: yenon Date: Sat, 15 Apr 2023 15:51:38 +0200 Subject: [PATCH] Changes from 14.04 --- .kile/mechforsch.kilepr.gui | 126 +++++- .../Konzept_Overview.pdf | Bin .../Umsetzung_Overview.pdf | Bin moveConnection.pdf => img/moveConnection.pdf | Bin .../moveit_pipeline.png | Bin main.tex | 401 +----------------- mechforsch.kilepr | 24 ++ tex/1_Einleitung.tex | 52 +++ tex/2_Konzept.tex | 62 +++ tex/3_Auswahl.tex | 171 ++++++++ tex/4_Umsetzung.tex | 225 ++++++++++ tex/Aufgabenstellung.pdf | Bin 0 -> 290347 bytes tex/Deckblatt.pdf | Bin 0 -> 183924 bytes 13 files changed, 668 insertions(+), 393 deletions(-) rename Konzept_Overview.pdf => img/Konzept_Overview.pdf (100%) rename Umsetzung_Overview.pdf => img/Umsetzung_Overview.pdf (100%) rename moveConnection.pdf => img/moveConnection.pdf (100%) rename moveit_pipeline.png => img/moveit_pipeline.png (100%) create mode 100644 tex/1_Einleitung.tex create mode 100644 tex/2_Konzept.tex create mode 100644 tex/3_Auswahl.tex create mode 100644 tex/4_Umsetzung.tex create mode 100644 tex/Aufgabenstellung.pdf create mode 100644 tex/Deckblatt.pdf diff --git a/.kile/mechforsch.kilepr.gui b/.kile/mechforsch.kilepr.gui index ade8246..09b175d 100644 --- a/.kile/mechforsch.kilepr.gui +++ b/.kile/mechforsch.kilepr.gui @@ -2,7 +2,16 @@ kile_livePreviewEnabled=true kile_livePreviewStatusUserSpecified=true kile_livePreviewTool=LivePreview-PDFLaTeX -lastDocument=main.tex +lastDocument=tex/4_Umsetzung.tex + +[document-settings,item:Einleitung.tex] +Bookmarks= +Encoding=UTF-8 +Highlighting=LaTeX +Highlighting Set By User=false +Indentation Mode=normal +Mode=LaTeX +Mode Set By User=false [document-settings,item:main.bib] Bookmarks= @@ -22,8 +31,53 @@ Indentation Mode=normal Mode=LaTeX Mode Set By User=true +[document-settings,item:tex/1_Einleitung.tex] +Bookmarks= +Encoding=UTF-8 +Highlighting=LaTeX +Highlighting Set By User=false +Indentation Mode=normal +Mode=LaTeX +Mode Set By User=false + +[document-settings,item:tex/2_Konzept.tex] +Bookmarks= +Encoding=UTF-8 +Highlighting=LaTeX +Highlighting Set By User=false +Indentation Mode=normal +Mode=LaTeX +Mode Set By User=false + +[document-settings,item:tex/3_Auswahl.tex] +Bookmarks= +Encoding=UTF-8 +Highlighting=LaTeX +Highlighting Set By User=false +Indentation Mode=normal +Mode=LaTeX +Mode Set By User=false + +[document-settings,item:tex/4_Umsetzung.tex] +Bookmarks= +Encoding=UTF-8 +Highlighting=LaTeX +Highlighting Set By User=false +Indentation Mode=normal +Mode=LaTeX +Mode Set By User=false + +[document-settings,item:tex/Einleitung.tex] +Bookmarks= +Encoding=UTF-8 +Highlighting=LaTeX +Highlighting Set By User=false +Indentation Mode=normal +Mode=LaTeX +Mode Set By User=false + [item:main.bib] -open=true +open=false order=1 [item:main.tex] @@ -34,6 +88,30 @@ order=0 open=false order=-1 +[item:tex/1_Einleitung.tex] +open=true +order=1 + +[item:tex/2_Konzept.tex] +open=true +order=2 + +[item:tex/3_Auswahl.tex] +open=true +order=3 + +[item:tex/4_Umsetzung.tex] +open=true +order=4 + +[view-settings,view=0,item:Einleitung.tex] +CursorColumn=0 +CursorLine=0 +Dynamic Word Wrap=false +JumpList= +TextFolding={"checksum":"","ranges":[]} +ViMarks= + [view-settings,view=0,item:main.bib] CursorColumn=14 CursorLine=109 @@ -44,8 +122,48 @@ ViMarks= [view-settings,view=0,item:main.tex] CursorColumn=0 -CursorLine=455 +CursorLine=111 Dynamic Word Wrap=false JumpList= -TextFolding={"checksum":"1d8262bd4fab97ca3ac166d2d70ba8518a0c146f","ranges":[]} +TextFolding={"checksum":"86fedba94f6f431aca10df7e7ffc4fd7dd3eac24","ranges":[]} +ViMarks= + +[view-settings,view=0,item:tex/1_Einleitung.tex] +CursorColumn=42 +CursorLine=26 +Dynamic Word Wrap=false +JumpList= +TextFolding={"checksum":"7f68313ac5accbbfe63bf0c2f33b5f2b97851ec3","ranges":[]} +ViMarks= + +[view-settings,view=0,item:tex/2_Konzept.tex] +CursorColumn=0 +CursorLine=0 +Dynamic Word Wrap=false +JumpList= +TextFolding={"checksum":"daf7cac8e4765460806a7139b3eb9171fb011da3","ranges":[]} +ViMarks= + +[view-settings,view=0,item:tex/3_Auswahl.tex] +CursorColumn=0 +CursorLine=164 +Dynamic Word Wrap=false +JumpList= +TextFolding={"checksum":"04558a693eba7702df7000723ab69b6eb36166ba","ranges":[]} +ViMarks= + +[view-settings,view=0,item:tex/4_Umsetzung.tex] +CursorColumn=0 +CursorLine=216 +Dynamic Word Wrap=false +JumpList= +TextFolding={"checksum":"93fb61d8448ada79778cce2b5e34a55776abbb30","ranges":[]} +ViMarks= + +[view-settings,view=0,item:tex/Einleitung.tex] +CursorColumn=0 +CursorLine=0 +Dynamic Word Wrap=false +JumpList= +TextFolding={"checksum":"","ranges":[]} ViMarks= diff --git a/Konzept_Overview.pdf b/img/Konzept_Overview.pdf similarity index 100% rename from Konzept_Overview.pdf rename to img/Konzept_Overview.pdf diff --git a/Umsetzung_Overview.pdf b/img/Umsetzung_Overview.pdf similarity index 100% rename from Umsetzung_Overview.pdf rename to img/Umsetzung_Overview.pdf diff --git a/moveConnection.pdf b/img/moveConnection.pdf similarity index 100% rename from moveConnection.pdf rename to img/moveConnection.pdf diff --git a/moveit_pipeline.png b/img/moveit_pipeline.png similarity index 100% rename from moveit_pipeline.png rename to img/moveit_pipeline.png diff --git a/main.tex b/main.tex index 1d8262b..86fedba 100644 --- a/main.tex +++ b/main.tex @@ -9,7 +9,7 @@ parskip=half, \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{csquotes} -\usepackage[includehead,includefoot, left=3.0cm, right=2.5cm, top=1.5cm, bottom=1.5cm]{geometry} +\usepackage[includehead, includefoot, left=3.0cm, right=2.5cm, top=1.5cm, bottom=1.5cm]{geometry} \usepackage{acro} \usepackage{listings} \usepackage[style=numeric,backend=biber]{biblatex} @@ -21,6 +21,7 @@ parskip=half, \usepackage{hyperref} \usepackage{tabularray} \usepackage{xurl} +\usepackage{xcolor} \usepackage[strings]{underscore} \usepackage[letterspace=150]{microtype} @@ -32,6 +33,9 @@ parskip=half, \chaptername~\thechapter\autodot\quad-\quad } +\definecolor{light-gray}{gray}{0.95} +\newcommand{\code}[1]{\colorbox{light-gray}{\texttt{#1}}} + \ihead*{\rightmark} \ohead*{\thepage} \setkomafont{pageheadfoot}{\normalfont} @@ -69,403 +73,22 @@ parskip=half, \begin{titlepage} -\includepdf[pages=-]{Deckblatt.pdf} +\includepdf[pages=-]{tex/Deckblatt.pdf} \end{titlepage} \tableofcontents -\includepdf[pages=-]{Aufgabenstellung.pdf} +\includepdf[pages=-]{tex/Aufgabenstellung.pdf} \setcounter{page}{1} \pagenumbering{arabic} +\input{tex/1_Einleitung.tex} +\input{tex/2_Konzept.tex} +\input{tex/3_Auswahl.tex} +\input{tex/4_Umsetzung.tex} -\chapter{Einleitung} -\section{Motivation} -Das Feld der Mensch-Roboter-Kollaboration entwickelt sich mit zunehmender Geschwindigkeit fort. -Viele Unternehmen bieten neue Lösungen für die unterschiedlichsten Einsatzszenarien der Endanwender. - -Dabei ist eine Prüfung des Anwendungsfalls sinnvoll, um etwaige Probleme der Interaktion früh erkennen und beheben zu können. -Diese Prüfung kann durch eine Simulation, in welcher der konkrete Anwendungsfall abgebildet wird, vereinfacht werden. - -Außerdem bietet eine Simulation die Möglichkeit, die Aufgabe des Roboters, ohne dessen Anschaffung, evaluieren zu können. -Das so gefertigte Modell des Anwendungsfalls könnte später auch als Grundlage für einen digitalen Zwilling dienen. -Dieser kann später zur Wartung und Fehlerdiagnose des Systems dienen. - --MRK häufiger ein Thema --Anwendungsfälle sollen evaluiert werden --Erprobung von Szenarien ohne Roboter - -->Simulation eine kompletten Szenarios mit Roboter und Mensch -\section{Stand der Wissenschaft} -Aktuelle Arbeiten: - --Planung von Interaktionen - --Parametervergleiche von maschinellen und menschlichen Bewegungen - --Vermeidung von Kollisionen und Strategie - --Steuerung von Robotern mit Behavior Trees - --> Keine allgemeine Simulation einen gesamten Szenarios mit Mensch. - -\url{https://www.sciencedirect.com/science/article/pii/S2351978918311442} -\url{https://www.researchgate.net/publication/319888916_Interactive_Simulation_of_Human-robot_Collaboration_Using_a_Force_Feedback_Device} -\url{https://elib.dlr.de/120687/1/human_motion_projection.pdf} -\url{https://www.researchgate.net/publication/220065749_Human-Robot_Collaboration_a_Survey} - -\section{Welche Szenarien} -Die drei Szenarien sollten so gewählt werden, dass vorher genutzte Bestandteile in späteren, komplexeren Szenarien weiter genutzt werden können. -Hierfür kommen bestimmte Aufgaben, wie zum Beispiel die Manipulation von Objekten, besonders in Frage, da diese viele ähnliche Bestandteile haben, jedoch mehrere Szenarien denkbar sind. - -Das erste abgebildete Szenario soll sich mit der Simulation einer bereits vollautomatisierten Fertigungsaufgabe handeln, in welcher ein Roboter im Arbeitsbereich eines Menschen Teile fertigt. -Die zu erwartende Interaktion beschränkt sich hierbei auf die Anpassung der Fahrgeschwindigkeit bei Annäherung des Menschen. - -Bei dem zweiten Szenario soll der Roboter Teile sortieren und auf ein Fließband legen, falls diese weiter genutzt werden können. -Der Mensch muss nun nur noch den Ausschuss beseitigen, welcher vom Roboter in eine besondere Zone gelegt wird. - -Die dritte simulierte Aufgabe stellt ein Colaborationsszenario dar, in welchem Mensch und Roboter an der selben Aufgabe arbeiten. -Hierbei soll eine Palette entladen werden, wobei der Roboter nicht jedes Objekt ausreichend manipulieren kann. -In diesen Fällen muss nun ein Mensch aushelfen, wodurch er mit dem Roboter in Interaktion tritt. -\section{Welcher Nutzen / Contributions} -- Erkennen von konzeptionellen Problemen vor Ersteinsatz - -- Definition von Interaktion mit einfacheren Strukturen als State-Machines -\chapter{Konzept} -Die zu entwickelnde Simulation soll die bisher meißt separaten Zweige der Roboter- und Menschensimulation verbinden. -Um die beiden Akteuren in der simulierten Umgebung zu steuern, werden Befehle von außerhalb der Simulation eingesetzt. -Diese Befehle werden dabei von externer Software unter der Verwendung von Behavior Trees und Feedback aus der Simulation generiert. - -Die zu erarbeitende Softwareumgebung soll einfach erweiterbar sein, um weitere Modifikationen und die Umsetzung anderer Projekte zuzulassen. -Hierzu zählt die Austauschbarkeit und Erweiterbarkeit von Komponenten wie der simulierten Welt, dem Roboter oder dem simulierten Mensch. -Um diese Möglichkeiten zu schaffen, sind die Systeme modular aufgebaut. - -\begin{figure}[] -\includegraphics[]{Konzept_Overview} -\centering -\caption{Visualisierung des Konzepts} -\label{concept_overview} -\end{figure} - -\section{Simulation des Roboters} -Der simulierte Roboter soll für viele unterschiedliche Szenarien nutzbar sein, was spezialisierte Robotertypen ausschließt. -Außerdem ist die enge Interaktion mit Menschen interessant, was einen für Mensch-Roboter-Kollaboration ausgelegten Roboter spricht. -Für diese beschriebenen Kriterien eignet sich der KUKA LBR iisy, welcher als Cobot vermarktet wird. -Cobot ist dabei ein Portemanteau aus Collaborative und Robot, was die besondere Eignung für MRK-Szenarien noch einmal unterstreicht. -Er besitzt auch einen modifizierbaren Endeffektor, um unterschiedlichste Aufgaben erfüllen zu können. - -Um den Kuka iisy in der Simulation verwenden zu können, muss ein Modell des Roboterarms erstellt werden. -Dieses Modell sollte die physikalischen Eigenschaften des Roboters möglichst gut wiederspiegeln. -Anhand dieses Modells kann der Roboter dann in der Simulation dargestellt werden und mit anderen Objekten interagieren. - -\section{Simulation des Menschen} -Der Mensch soll in der Simulation typische Aufgaben erledigen und häufiges Verhalten abbilden können. -Hierzu werden Animationen verwendet, welche die aktuelle Tätigkeit darstellen. -Für komplexere Verhaltensweisen können Animationen und andere Aktionen, wie zum Beispiel eine Bewegung und Rotation kombiniert werden, um zum Beispiel die Aktion ``laufen'' auszuführen. - -Auch hier wird ein Modell der Person für die Simulation benötigt. -Außerdem werden mehrere Animationen und Übergänge zwischen diesen benötigt, um bestimmte Bewegungen darstellen zu können. -Hinzu kommt noch eine Komponente, welche diese Animationen und andere Parameter von außen entgegennehmen kann, um sie in der Simulation ausführen zu können. -Um die spätere Steuerung des Menschen von außerhalb zu erleichtern, müssen diese Aktionen im Fortschritt überwacht und abgebrochen werden können. - -\section{Behavior Trees} -Häufig wird Verhalten in State-Machines ausgedrückt, welche jedoch einige Nachteile besitzen. -State-Machines werden ab einer gewissen Größe schnell unübersichtlich. -Dies erschwert die schnelle Erfassung von Abfolgen und Zustandsübergängen bei Änderungen am Code, welche jedoch essentiell für den Betrieb einer Maschine sind. -Um diese Probleme zu adressieren, entstand das Konzept der Behavior Trees. - -Ein Behavior Tree ist eine Struktur, um Verhalten als ein Baum zu beschreiben. -Der Ablauf startet vom sogenannten Root, der Wurzel des Baums. -Von dort an werden sogenannte Nodes, welche je nach Node unterschiedliches Verhalten abbilden, miteinander verbunden. -Die Nodes werden untereinander angeordnet, welches die Relation der Nodes zueinander beschreibt. -Jede Node hat dabei entweder die Root-Node oder eine andere Node über ihr im Baum und eine beliebige Anzahl an Nodes unter sich. -Hierbei gibt es mehrere grundlegende Arten von Tree-Nodes. -\begin{description} - \item[Aktions-Nodes] - beschreiben einzelne ausführbare Aktionen. Mit Hilfe von Parametern kann ihr Verhalten von anderen Nodes beeinflusst werden. - \item[Dekorations-Nodes] - können den Rückgabewert einer anderen Node modifizieren. Häufig existieren hier Negation, garantierter Erfolg und garantierter Fehler. - \item[Sequenz-Nodes] - beschreiben eine nacheinander ausgeführte Abfolge von anderen Nodes, welche mit spezifischen Randbedingungen weiter fortschreitet. - \item[Fallback-Nodes] - werden verwendet, um Verhalten zu definieren, welches nur bei Fehlern in vorherigen Nodes ausgeführt wird. -\end{description} - -In dieser Arbeit sollen BehaviorTrees für die Steuerung von Mensch und Roboter verwendet werden. -Die hierfür erstellten Nodes sollen universell gestaltet werden, um alle Szenarien, welche in dieser Arbeit bearbeitet werden, abzudecken. - -\chapter{Komponenten-/Softwareauswahl} -\section{Dienstumgebung (ROS2)} -\subsection{Auswahl} -Durch eine Dienstumgebung werden häufig benötigte Funktionen bereitgestellt, welche in Programmen genutzt werden können. -Dabei ist es irrelevant, ob diese für simulierte, aber auch echte Hardware, genutzt werden. -Bei einer Dienstumgebung für Roboter gehören zu den grundlegendn Aspekten die Nachrichtenübergabe zwischen einzelen interagierenden Programmen, um eine gemeinsame Basis für ein einfach erweiterbares System zu schaffen. - -In diesem Bereich sticht ROS als Dienstumgebung für Roboter hervor, da es sich um ein etabliertes, quelloffenes und häufig verwendetes System handelt. -Es bietet die oben genannten Aspekte und einige weitere Verbesserungen, welche später näher beleuchtet werden. -Die neuste Version ROS2 bietet dabei einige Verbesserungen im Vergleich zu früheren Version ROS1. -Ein neues Nachrichtenformat mit Quality of Service kann zum Beispiel Nachrichten vorhalten und über sowohl TCP als auch UDP kommunizieren. -Außerdem werden nun neben CMake auch andere Buildsysteme unterstützt, unter anderem auch Python. - -Generell existieren im Feld der Roboter-Dienstumgebungen keine Alternativen mit ähnlichem Funktionsumfang und gleicher Reichweite, jedoch sind andere Systeme mit anderen Nachrichtenformaten denkbar. -Vor allem die unzähligen ROS-Bibliotheken, welche von Nutzern des Systems über die Jahre erstellt wurden, machen das System so populär.\cite{rospackages} - --Alternative Ökosysteme mit gleichem Umfang wie ROS existieren nicht. --ROS2 --Andere (nur) Messagingsysteme --LCM --ZeroMQ -\subsection{Beschreibung} -ROS2\cite{doi:10.1126/scirobotics.abm6074}, später auch einfach nur ROS genannt, beschreibt sich selbst als ``a meta operating system for robots''\cite{ros-git}. -Hierbei ist ``operating system'' nicht in seiner herkömmlichen Bedeutung eines vollständigen Betriebssystems zu verstehen. -Es handelt sich dabei um eine gemeinsame Grundlage für Programme und Daten, welche durch ROS bereitgestellt wird. - -Einzelne Bestandteile in der Umgebung sind dabei in Pakete gegliedert. -Ein Paket kann beliebig viele Daten und Programme beinhalten, welche in zwei Dateien beschrieben werden. -In CMakeLists.txt befinden sich Buildinstruktionen für den Compiler, falls sich Programme im Paket befinden. -Außerdem können bestimmte Pfade aus dem Paket exportiert werden, sodass diese später im Workspace verfügbar sind. -Programme, welche mit anderen Programmen in der Umgebung interagieren, werden in ROS ``Nodes'' genannt. - -Zu den Aufgaben von ROS gehören dabei: -\begin{description} - \item[Buildumgebung]\hfill \\ - ROS benutzt colcon \cite{colcon}, um Pakete in den Workspaces reproduzierbar zu erstellen. - Hierfür werden CMake und einige Erweiterungen, wie z.B. ament\_cmake eingesetzt. - - \item[Workspaceverwaltung]\hfill \\ - Pakete können in verschiedenen Verzeichnissen installiert werden und müssen für andere Pakete auffindbar sein. - ROS nutzt hierfür von colcon generierte Skripte, welche beim Erstellen eines Pakets und eines Workspaces mit angelegt werden. - Das Skript des Pakets fügt nur dieses Paket der Umgebung hinzu, das Skript des Workspaces führt alle Skripte der enthaltenen Pakete aus, um diese der Umgebung hinzuzufügen. - - \item[Abhängigkeitsverwaltung]\hfill \\ - ROS kann durch die in den Paketen deklarierten Abhängigkeiten prüfen, ob diese in der aktuellen Umgebung verfügbar sind. - Dies vermeidet Abstürze und undefiniertes Verhalten in der Ausführung von Nodes. - - \item[Datenübertragung]\hfill \\ - Nodes müssen miteinander auf einem festgelegten Weg kommunizieren können, um beliebige Verbindungen dieser zu unterstützen. - Dieser wird durch ROS in Form mehrerer Bibliotheken für unterschiedliche Sprachen bereitgestellt. - - \item[Parameterübergabe]\hfill \\ - Nodes benötigen häufig problemspezifische Konfiguration, um in vorher nicht bedachten Szenarien eingesetzt werden zu können. - ROS stellt diese durch deklarierfähige und integrierte Argumente bereit. - - \item[Startverwaltung]\hfill \\ - In sogenannten ``launch''-Files können verschiedene Nodes und andere ``launch''-Files zu komplexen Startvorgängen zusammengefasst werden. -\end{description} - - -\section{Simulationsumgebung (Gazebo)} -\subsection{Auswahl} -Als Simulationsumgebung können verschiedene Programme genutzt werden, welche sich in ihrem Funktionsumfang stak unterscheiden. -Hierfür kommen dedizierte Werkzeuge zur Robotersimulation, aber auch zum Beispiel universell einsetzbare Gameengines in Frage. -Diese Werkzeuge müssen hierfür auf ihre Tauglichkeit für die gesetzte Aufgabe geprüft werden. -Auch andere Aspekte sind hierbei zu betrachten, wie Lizenzen oder schwer bewertbare Aspekte wie Nutzerfreundlichkeit. -Für die Auswahl kommen verschiedene Prgramme in Frage, welche im folgenden weiter beleuchtet werden. - -CoppeliaSim, früher auch V-REP genannt, ist eine Robotersimulationsumgebung mit integriertem Editor und ROS-Unterstützung. -Es unterstützt viele Sprachen (C/C++, Python, Java, Lua, Matlab oder Octave) zur Entwicklung von Erweiterungen des Simulators. -Der Simulator selbst unterstützt Menschliche Aktoren, jedoch können diese nur Animationen abspielen oder zusammen mit Bewegungen abspielen. -CoppeliaSim existiert in 3 Versionen, welche sich im Funktionsumfang unterscheiden, jedoch hat nur die professionelle Version Zugriff auf alle Funktionen und Verwendungsszenarien. - -Gazebo Ignition ist wie CoppeliaSim eine Robotersimulationsumgebung, jedoch ohne integrierten Editor und direkte ROS-Unterstützung. -Gazebo setzt wie CoppeliaSim auf Erweiterungen, welche die gewünschten Funktionen einbinden können. -Zum Beispiel existiert auch eine ROS-Brücke, welche die Anbindung an ROS ermöglicht. -Auch hier unterstützt der Simulator nur Animationen für menschliche Aktoren. -Das Projekt ist Open Source, unter der Apache Lizenz (Version 2.0), was die Verwendung in jeglichen Szenarien erleichtert. - -Unity hingegen ist primär eine Grafikengine für Nutzung in Computerspielen. -Es existieren mehrere Systeme zur Anbindung der Engine an ROS, vor allem das offizielle ``Robotics Simulation''-Paket und ZeroSim. -Beide Systeme erlauben die Erweiterung der Gameengine um die Simulation von Robotern. -Unity besitzt eine gute Dokumentation, die vor allem auf die Nutzung im Einsteigerbereich zurückzuführen ist. -Auch die Optionen zur Menschensimulation sind gut, da diese häufig in Spielen verwendet werden. -Ein großer Nachteil hingegen ist die Lizenz, welche nur für Einzelpersonen kostenlos ist. - -Die Unreal Engine ist wie Unity eine Grafikengine aus dem Spielebereich. -Auch hier ist die Menschensimulation aufgrund oben genannter Gründe gut möglich. -Jedoch existiert für Unreal Engine keine offizielle Lösung zur Anbindung an ROS2. -Die Programmierung der Engine erfolgt in C++, was einer Drittlösung erlaubte, eine ROS-Anbindung für Unreal Engine zu erstellen. -Die Lizenz der Unreal Engine erlaubt die kostenfreie Nutzung bis zu einem gewissen Umsatz mit der erstellten Software. - -Eine weitere Möglichkeit zur Simulation stellt die Grafikengine Godot dar. -Im Vergleich zu Unity und Unreal Engine ist Godot quelloffene Software unter der MIT-Lizenz. -Auch hier stellt die Simulation von menschlichen Aktoren eine Standartaufgabe dar, jedoch befinden sich Teile des dafür verwendeten Systems derzeit in Überarbeitung. -Auch für diese Engine existiert eine ROS2-Anbindung, jedoch ist diese nicht offiziell. - -Jede der drei Gameengines besitzt ein integriertes Physiksystem, welches die Simulation von starren Körpern und Gelenken erlaubt. -Aus diesen Funktionen könnte ein Roboterarm aufgebaut werden, welcher dann durch eine der ROS-Brücken der Engines gesteuert werden kann. - -Die Wahl der Simulationsumgebung fiel auf Gazebo Ignition, da dieser Simulator bereits im ROS-Framework etabliert ist. -Dabei erlauben die offizielle ROS-Anbindung und offene Lizenz eine zuverlässige Verwendung in unterschidlichsten Szenarien. - -\subsection{Robotersimulation} -Für die Robotersimulation wird ein Modell des Roboters benötigt, in welchem dieser für die Siimulationsumgebung beschrieben wird. -Gazebo nutzt hierfür .srdf-Dateien, welche auf xml basieren. -In diesen werden die einzelnen Glieder des Arms und die verbindenden Gelenke beschrieben. - -Jedes Glied des Modells besitzt eine Masse, einen Masseschwerpunkt und eine Trägheitsmatrix für die Physiksimulation in Gazebo. -Außerdem werden Modelle für die visuelle Repräsentation in Gazebo und die Kollisionserkennung in der Physiksimulation hinterlegt. -Für beide existieren einfache Modelle wie Zylinder, Boxen und Kugeln. -Da diese Formen nicht jeden Anwendungsfall abdecken und in der visuellen Repräsentation nicht ausreichen, können auch eigene Modelle hinterlegt werden. - -Gelenke werden separat von den Gliedern definiert und verbinden jeweils zwei Glieder miteinander. -Durch das Aneinanderreihen von mehreren Gliedern und Gelenken kann so jeder Roboteraufbau beschrieben werden. -Jedes Gelenk besitzt eine Position und Rotation im Raum, um dessen Effekte je nach Typ des Gelenks berechnen zu können. -Aspekte wie Reibung und Dämpfung können auch für die Physiksimulation angegeben werden. -Folgende Typen von Gelenken können in urdf genutzt werden: -\begin{description} - \item[freie Gelenke] - ermöglichen vollständige Bewegung in allen 6 Freiheitsgraden. Sie stellen den normalen Zustand der Gelenke zueinander dar. - \item[planare Gelenke] - erlauben Bewegungen senkrecht zur Achse des Gelenks. Sie werden für zum Beispiel Bodenkollisionen eingesetzt. - \item[feste Gelenke] - sperren alle 6 Freiheitsgrade und werden häufig zur Plazierung von Objekten in einer Szene genutzt. - \item[kontinuierliche Gelenke] - erlauben die beliebige Rotation um die Achse des Gelenks. Sie sind nur selten in rotierenden Gelenken mit Schleifkontakten zu finden. - \item[drehbare Gelenke] - verhalten sich wie kontinuerliche Verbindungen, haben jedoch minimale und maximale Auslenkungen. Sie sind die häufigste Art von Gelenken in Roboterarmen. - \item[prismatische Gelenke] - ermöglichen die Bewegung entlang der Achse des Gelenks. Denkbare Anwendungsfälle sind simulierte lineare Aktuatoren. -\end{description} -\subsection{Menschensimulation} -Gazebo besitzt bereits ein einfaches Animationssystem für bewegliche Aktoren, welches auch für Menschen nutzbar ist. -Es existiert bereits ein Modell eines Menschen mit mehreren Animationen, welche allein abgespielt, oder an Bewegungen gekoppelt werden können. -Dadurch ist eine Laufanimation realisierbar, welche synchronisiert zur Bewegung abgespielt wird. - -Jedoch ist dies nur unter der Bedingung möglich, dass der gesamte Bewegungsablauf zum Simulationsstart bekannt ist. -Dies ist auf die Definition der Pfade, welche die Bewegung auslösen, zurückzuführen. -Diese können nur in der .sdf-Datei des Aktoren definiert werden, was Veränderungen zur Laufzeit ausschließt. -Durch diesen Umstand ist der mögliche Simulationsumfang nicht ausreichend. - -Um diesen Umstand zu beheben, ist die Entwicklung eines eigenen Systems zum Bewegen und Animieren des Menschen unausweichlich. -Dieses System muss, wie im Konzept beschrieben, Steuerbefehle von außen empfangen, umsetzen und Feedback liefern können. - -\section{Roboterumgebung (MoveIt2)} -MoveIt2 ist das empfohlene ROS2 Paket für Bewegungsplanung von Robotern. -Das System besteht aus meheren Komponmenten, welche in ihrer Gesamtheit den Bereich der Bewegungsplanung abdecken. -Der Nutzer kann mit MoveIt auf mehreren Wegen Steuerbefehle für den Roboter absenden. - -Die einfachste Art der Inbetriebnahme ist über das mitgelieferte RViz-Plugin und die demo-Launch-Files, welche durch den Setupassistenten für den Roboter generiert werden. -Dort können Bewegungen durch das Bewegen von Markierungen oder in der Simulation geplant und ausgeführt werden. - -Da sich ein solches System nur beschränkt zur Automatisierung durch Software eignet, existieren auch noch andere Schnitstellen. -Für die Sprache Python existierte früher noch das moveit_commander Paket, welches den Zugriff auf MoveIt in Pyhon erlaubt, welches aber aktuell noch nicht portiert wurde. \cite{moveitpython} -Die direkte Nutzung der C++-API ist aktuell die einzige offizielle Möglichkeit, mit MoveIt auf einer abstrakteren Ebene zu interagieren. -Natürlich können die Befehle auch direkt an die entsprechenden Topics gesendet werden, was jedoch Erfahrung mit den verwendeten Datenstrukturen benötigt. - -Durch diese Schnittstelle erhält die sogenannte MoveGroup ihre Informationen über die gewünschte Bewegung. -Diese Daten können durch eine OccupancyMap ergänzt werden, welche die Bereiche beschreibt, welche sich um den Roboter befinden. -Eine solche Erweiterung erlaubt die Nutzung von Kollisionsvermeidung mit Objekten im Planungsbereich. - -Die Planung der Bewegung wird durch einen der zahlreichen implementierten Solver erledigt, welcher durch die MoveGroup aufgerufen wird. -Um die generierte Bewegung umzusetzen, werden die gewünschten Gelenkpositionen als Abfolge an ros_control weitergegeben. -Dabei können sowohl echte Hardwaretreiber, aber auch simulierte Roboter genutzt werden. -Der Erfolg der gesamten Pipeline kann dabei durch einen Feedbackmechanismus überwacht werden. - -Im Falle von Gazebo wird ign_ros_control genutzt, welches die benötigten ros_control Controller in die Simulation einbindet. -Diese können dann wie normale Controller von ros_control genutzt werden. - -Dieser Ablauf ist auch im Anhang unter Abbildung \ref{moveitpipeline} visualisiert. - -\chapter{Umsetzung} - -\section{Grundlegender Systemaufbau} -Der grundlegende Systemaufbau musste stark modifiziert werden, wie in Abbildung \ref{umsetzung_overview} zu sehen, um die gesetzten Aufgaben erfüllen zu können. -Dabei fallen vor allem die überarbeitete Kommunikation mit dem simulierten Menschen und die komplexere Steuerung des Roboterarms auf. - -Die komplexere Steuerung des Roboters ist auf die Struktur von MoveIt zurückzuführen, welches in viele einzelne Teilmodule aufgeteilt ist. -Diese müssen durch ihren modularen Aufbau, welcher für die Vielseitigkeit verantwortlich ist, einzeln konfiguriert werden, um miteinander in Interaktion treten zu können. - -Außerdem musste die Kommunikation des Modells des Menschen überarbeitet werden, da die ROS-Kommunikation in Gazebo nur mit Einschränkungen möglich ist. - -\begin{figure}[] -\includegraphics[width=\textwidth]{Umsetzung_Overview} -\centering -\caption{Visualisierung des überarbeiteten Konzepts} -\label{umsetzung_overview} -\end{figure} - --BehaviorTree -> ActorPluginServer -> ActorPluginServer - --BehaviorTree -> MoveIt -> ros\_control -> Gazebo -\section{Mensch} -\subsection{Übersicht (Diagramme)} -Das angepasste Verfahren zur Menschensteuerung in der Simulation verwendet mehrere Kommunikationswege. -Als erstes wird eine Bewegungs- oder Animationsanfrage an den ROS-Action-Server im ActorServer gesendet. -Wenn die Simulation aktuell keinen Befehl ausführt, wird diese Anfrage akzeptiert, ansonsten wird sie abgebrochen. -Daraufhin werden die Daten der Anfrage über eine Posix-Message-Queue vom ActorServer an das ActorPlugin in Gazebo gesendet. - -Dieses verwendet die Daten, um eine interne State-Machine in den entsprechenden Zustand zu setzen, welcher zur Ausführung des Befehls benötigt wird. - -Um Feedback an den Client des ROS-Action-Servers übertragen zu können, werden bei der Ausführung von Befehlen oder Zustandswechseln des ActorPlugins Feedbackdaten über eine separate MessageQueue zurück an den ActorServer übertragen. -Diese werden durch den ActorServer aufbereitet, da nicht alle Daten für die jeweilige laufende Aktion relevant sind und an den ROS-Action-Client gesendet. - -Um diese Befehle in der Simulation auch visuell umsetzen zu können, werden weitere Animationen für das Modell des Menschen benötigt, welche im Kontext der zur erfüllenden Aufgabe relevant sind. -Dafür muss dan Modell in einen animierbaren Zustand gebracht werden, in welchem dann weitere Animationen erstellt und in die Simulation eingebunden werden können. -\subsection{Modellierung} --Rerigging des Actor-Modells --Animation in eigenem Rig --Konflikte durch 'verschiedene' Rigs in Animationen --Erstellung eines neuen Rigify-Rigs --Erneutes Erstellen von Animationen --Disconnect Bones in Rig --Flatten Hierarchy -\subsection{Programmierung} -\subsubsection{Message Queue} -Bei der Implementierung des ActorPlugins stellte sich heraus, dass die nun im ActorServer ausgelagerten Befehle mit den Befehlen im ros_control-Plugin kollidieren. -Dies geschieht, da beide Plugins rclcpp, eine Bibliothek zur Kommunikation mit ROS, verwenden. - -In dieser Bibliothek wird eine globale Instanz angelegt, welche den Zustand des Kommunikationsprotokolls abbildet. -Da jedoch von beiden Plugins auf diesen Zustand zugegriffen wird, kommt es zur Problemen, da kein Synchronisationsmechanismus existiert. -Die dadurch entstehenden gleichzeitigen Zugriffe auf die selben Ressourcen führen zur Terminierung des Programms. - -Eine Anpassung beider Plugins auf die gemeinsame Nutzung einer Ressource ist möglich, erfordert jedoch weitere Anpassungen, welche zeitlich nur schwer planbar sind. -Die Nutzung eines separaten Dienstes, welcher keinen globalen Kontext benötigt, ist die sicherste Lösung des Problems. -Durch einen solchen Dienst werden auch in Zukunft keine Plugins gestört, auch wenn sie selbigen Dienst zur Kommunikation verwenden. - -Die Auswahl eines Dienstes wurde dabei aus einer Reihe an unterschielichen Möglichkeiten getroffen. -Eine REST-API hat den Vorteil, dass sie durch fast jede Programmiersprache genutzt werden kann, die Sockets unterstützt, hat jedoch keinen einheitlichen Feedbackmechanismus. -Die neueren Websockets bieten die Möglichkeit, bidirektional Daten zu übertragen und erlauben somit Feedback an das aufrufende Programm. -Beide Technologien basieren jedoch auf einem Webserver, welcher auf einem bestimmten Port des Systems ausgeführt werden muss, was Kollisionen mit anderen Serveices ermöglicht. -Die Portnummer kann zwar geändert werden, ist jedoch nicht einfach mit einer Komponente assoziierbar, was sie zu einer ``Magischen Zahl'' macht. -Dies sorgt für schlechte Lesbarkeit in einem wichtigen Teil des Kontrollflusses. -Außerdem besitzen beide Terchnologien durch TCP oder UDP und HTTP relativ großen Protokolloverhead, welcher bei den hohen Updateraten der Gazebo-Simulation zu Problemen führen könnte. - -Eine andere Möglichkeit ist die Nutzung von ``shared memory'', einem geteilten Speicherbereich zwischen beiden Programmen. -Dieser kann zur bidirektionalen Kommunikation genutzt werden, da beide Programme auf den Speicher zugreifen können. -Alle Zugriffe auf den Bereich sind extrem schnell, was diese Technik ideal zur schnellen Datenübertragung zwischen Prozessen macht. -Durch das erlauben gleichzeitiger Zugriffe kann es hierbei vorkommen, dass die selbe Adresse gleichzeitig von einem Programm gelesen und von einem anderen geschrieben wird. -Die dabei gelesenen Daten können Schäden aufweisen, weswegen Zugriffe auf den Speicherbereich koordiniert werden müssen. - -Die letzte betrachtete Methode ist die Verwendung einer Message Queue. -Hier wird im Betriebssystem ein Speicherbereich mit bestimmter Größe für den Datenaustauch reserviert. -Dieser Bereich besitzt ein Identifikationsmerkmal, mit welchem Anwendungen Zugriff auf diesen erlangen können. -Ein Programm kann in diesem Bereich Nachrichten ablegen, welche durch das andere Programm gelesen werden können. -Die Koordinierung der Zugriffe erfolgt dabei durch das Betriebssystem, was gleichzeitige Zugriffe, wie bei shared memory, aussschließt. -Hierdurch kommt es zu einem Anstieg an Latenzzeit, jedoch ist dieser ausreichend gering. - -Die Wahl des Dienstes fiel auf eine MessageQueue, jedoch existieren unter Linux 2 unabhängige Implementationen. -Die erste Implementation ist die System V MessageQueue, und verwendet zur Identifikation einfache Integer. -Eine Spezialität dieser alten Implementation ist das Sortieren der Nachrichten nach Nachrichtentyp in der gleichen Warteschlange. -Die neuere Implementation der POSIX MessageQueue bietet einige weitere Funktionen, wie zum Beispiel aynchrone Benachrichtigungen bei neuen Nachrichten, Quality of Service und nutzt bis zu 256 Zeichen lange Strings zur Identifikation. - -Die ausgewählte Implementation ist die neuere POSIX-Implementation einer Message Queue, da diese basierend auf den Erfahrungen mit der System V Implementation verbessert wurde. -\subsubsection{ROS-Server} --Transformieren von ROS2 action server in Message Queue - --Eigene state machine -\subsubsection{Gazebo Plugin} --Relativ einfache Implementation - --Reagiert nur auf Nachrichten, kein Konzept der gesamten Abfolge -\section{Roboter} -\subsection{Übersicht (Diagramme)} -\subsection{Modellierung} -Erstellung der Robotermodelle aus Herstellerdaten - -Kollision und Visualisierung -\subsection{Details} \chapter{Szenarienbasierte Evaluation} \section{Simulation des Menschen} -Animationen und Bewegungen funktionieren @@ -585,7 +208,7 @@ Darunter fallen eine grundlegende Strukturänderung der unterliegenden Engine, w \printbibliography \markboth{Anhang}{Anhang} \begin{figure}[h] -\includegraphics[width=14cm]{moveit_pipeline} +\includegraphics[width=14cm]{img/moveit_pipeline} \caption{Visualisierung der MoveIt Pipeline\cite{moveitpipeline}} \label{moveitpipeline} \end{figure} diff --git a/mechforsch.kilepr b/mechforsch.kilepr index 85f6df3..a027177 100644 --- a/mechforsch.kilepr +++ b/mechforsch.kilepr @@ -35,3 +35,27 @@ archive=true encoding= highlight= mode= + +[item:tex/1_Einleitung.tex] +archive=true +encoding=UTF-8 +highlight=LaTeX +mode=LaTeX + +[item:tex/2_Konzept.tex] +archive=true +encoding=UTF-8 +highlight=LaTeX +mode=LaTeX + +[item:tex/3_Auswahl.tex] +archive=true +encoding=UTF-8 +highlight=LaTeX +mode=LaTeX + +[item:tex/4_Umsetzung.tex] +archive=true +encoding=UTF-8 +highlight=LaTeX +mode=LaTeX diff --git a/tex/1_Einleitung.tex b/tex/1_Einleitung.tex new file mode 100644 index 0000000..7f68313 --- /dev/null +++ b/tex/1_Einleitung.tex @@ -0,0 +1,52 @@ +\chapter{Einleitung} +\section{Motivation} +Das Feld der Mensch-Roboter-Kollaboration entwickelt sich mit zunehmender Geschwindigkeit fort. +Viele Unternehmen bieten neue Lösungen für die unterschiedlichsten Einsatzszenarien der Endanwender. + +Dabei ist eine Prüfung des Anwendungsfalls sinnvoll, um etwaige Probleme der Interaktion früh erkennen und beheben zu können. +Diese Prüfung kann durch eine Simulation, in welcher der konkrete Anwendungsfall abgebildet wird, vereinfacht werden. + +Außerdem bietet eine Simulation die Möglichkeit, die Aufgabe des Roboters, ohne dessen Anschaffung, evaluieren zu können. +Das so gefertigte Modell des Anwendungsfalls könnte später auch als Grundlage für einen digitalen Zwilling dienen. +Dieser kann später zur Wartung und Fehlerdiagnose des Systems dienen. + +-MRK häufiger ein Thema +-Anwendungsfälle sollen evaluiert werden +-Erprobung von Szenarien ohne Roboter + +->Simulation eine kompletten Szenarios mit Roboter und Mensch +\section{Stand der Wissenschaft} +Aktuelle Arbeiten: + +-Planung von Interaktionen + +-Parametervergleiche von maschinellen und menschlichen Bewegungen + +-Vermeidung von Kollisionen und Strategie + +-Steuerung von Robotern mit Behavior Trees + +-> Keine allgemeine Simulation einen gesamten Szenarios mit Mensch. + +\url{https://www.sciencedirect.com/science/article/pii/S2351978918311442} +\url{https://www.researchgate.net/publication/319888916_Interactive_Simulation_of_Human-robot_Collaboration_Using_a_Force_Feedback_Device} +\url{https://elib.dlr.de/120687/1/human_motion_projection.pdf} +\url{https://www.researchgate.net/publication/220065749_Human-Robot_Collaboration_a_Survey} + +\section{Welche Szenarien} +Die drei Szenarien sollten so gewählt werden, dass vorher genutzte Bestandteile in späteren, komplexeren Szenarien weiter genutzt werden können. +Hierfür kommen bestimmte Aufgaben, wie zum Beispiel die Manipulation von Objekten, besonders in Frage, da diese viele ähnliche Bestandteile haben, jedoch mehrere Szenarien denkbar sind. + +Das erste abgebildete Szenario soll sich mit der Simulation einer bereits vollautomatisierten Fertigungsaufgabe handeln, in welcher ein Roboter im Arbeitsbereich eines Menschen Teile fertigt. +Die zu erwartende Interaktion beschränkt sich hierbei auf die Anpassung der Fahrgeschwindigkeit bei Annäherung des Menschen. + +Bei dem zweiten Szenario soll der Roboter Teile sortieren und auf ein Fließband legen, falls diese weiter genutzt werden können. +Der Mensch muss nun nur noch den Ausschuss beseitigen, welcher vom Roboter in eine besondere Zone gelegt wird. + +Die dritte simulierte Aufgabe stellt ein Kollaborationsszenario dar, in welchem Mensch und Roboter an der selben Aufgabe arbeiten. +Hierbei soll eine Palette entladen werden, wobei der Roboter nicht jedes Objekt ausreichend manipulieren kann. +In diesen Fällen muss nun ein Mensch aushelfen, wodurch er mit dem Roboter in Interaktion tritt. +\section{Welcher Nutzen / Contributions} +- Erkennen von konzeptionellen Problemen vor Ersteinsatz + +- Definition von Interaktion mit einfacheren Strukturen als State-Machines diff --git a/tex/2_Konzept.tex b/tex/2_Konzept.tex new file mode 100644 index 0000000..daf7cac --- /dev/null +++ b/tex/2_Konzept.tex @@ -0,0 +1,62 @@ +\chapter{Konzept} +Die zu entwickelnde Simulation soll die bisher meißt separaten Zweige der Roboter- und Menschensimulation verbinden. +Um die beiden Akteuren in der simulierten Umgebung zu steuern, werden Befehle von außerhalb der Simulation eingesetzt. +Diese Befehle werden dabei von externer Software unter der Verwendung von Behavior Trees und Feedback aus der Simulation generiert. + +Die zu erarbeitende Softwareumgebung soll einfach erweiterbar sein, um weitere Modifikationen und die Umsetzung anderer Projekte zuzulassen. +Hierzu zählt die Austauschbarkeit und Erweiterbarkeit von Komponenten wie der simulierten Welt, dem Roboter oder dem simulierten Mensch. +Um diese Möglichkeiten zu schaffen, sind die Systeme modular aufgebaut. + +\begin{figure}[] +\includegraphics[]{img/Konzept_Overview} +\centering +\caption{Visualisierung des Konzepts} +\label{concept_overview} +\end{figure} + +\section{Simulation des Roboters} +Der simulierte Roboter soll für viele unterschiedliche Szenarien nutzbar sein, was spezialisierte Robotertypen ausschließt. +Außerdem ist die enge Interaktion mit Menschen interessant, was einen für Mensch-Roboter-Kollaboration ausgelegten Roboter spricht. +Für diese beschriebenen Kriterien eignet sich der KUKA LBR iisy, welcher als Cobot vermarktet wird. +Cobot ist dabei ein Portemanteau aus Collaborative und Robot, was die besondere Eignung für MRK-Szenarien noch einmal unterstreicht. +Er besitzt auch einen modifizierbaren Endeffektor, um unterschiedlichste Aufgaben erfüllen zu können. + +Um den Kuka iisy in der Simulation verwenden zu können, muss ein Modell des Roboterarms erstellt werden. +Dieses Modell sollte die physikalischen Eigenschaften des Roboters möglichst gut wiederspiegeln. +Anhand dieses Modells kann der Roboter dann in der Simulation dargestellt werden und mit anderen Objekten interagieren. + +\section{Simulation des Menschen} +Der Mensch soll in der Simulation typische Aufgaben erledigen und häufiges Verhalten abbilden können. +Hierzu werden Animationen verwendet, welche die aktuelle Tätigkeit darstellen. +Für komplexere Verhaltensweisen können Animationen und andere Aktionen, wie zum Beispiel eine Bewegung und Rotation kombiniert werden, um zum Beispiel die Aktion ``laufen'' auszuführen. + +Auch hier wird ein Modell der Person für die Simulation benötigt. +Außerdem werden mehrere Animationen und Übergänge zwischen diesen benötigt, um bestimmte Bewegungen darstellen zu können. +Hinzu kommt noch eine Komponente, welche diese Animationen und andere Parameter von außen entgegennehmen kann, um sie in der Simulation ausführen zu können. +Um die spätere Steuerung des Menschen von außerhalb zu erleichtern, müssen diese Aktionen im Fortschritt überwacht und abgebrochen werden können. + +\section{Behavior Trees} +Häufig wird Verhalten in State-Machines ausgedrückt, welche jedoch einige Nachteile besitzen. +State-Machines werden ab einer gewissen Größe schnell unübersichtlich. +Dies erschwert die schnelle Erfassung von Abfolgen und Zustandsübergängen bei Änderungen am Code, welche jedoch essentiell für den Betrieb einer Maschine sind. +Um diese Probleme zu adressieren, entstand das Konzept der Behavior Trees. + +Ein Behavior Tree ist eine Struktur, um Verhalten als ein Baum zu beschreiben. +Der Ablauf startet vom sogenannten Root, der Wurzel des Baums. +Von dort an werden sogenannte Nodes, welche je nach Node unterschiedliches Verhalten abbilden, miteinander verbunden. +Die Nodes werden untereinander angeordnet, welches die Relation der Nodes zueinander beschreibt. +Jede Node hat dabei entweder die Root-Node oder eine andere Node über ihr im Baum und eine beliebige Anzahl an Nodes unter sich. +Hierbei gibt es mehrere grundlegende Arten von Tree-Nodes. +\begin{description} + \item[Aktions-Nodes] + beschreiben einzelne ausführbare Aktionen. Mit Hilfe von Parametern kann ihr Verhalten von anderen Nodes beeinflusst werden. + \item[Dekorations-Nodes] + können den Rückgabewert einer anderen Node modifizieren. Häufig existieren hier Negation, garantierter Erfolg und garantierter Fehler. + \item[Sequenz-Nodes] + beschreiben eine nacheinander ausgeführte Abfolge von anderen Nodes, welche mit spezifischen Randbedingungen weiter fortschreitet. + \item[Fallback-Nodes] + werden verwendet, um Verhalten zu definieren, welches nur bei Fehlern in vorherigen Nodes ausgeführt wird. +\end{description} + +In dieser Arbeit sollen BehaviorTrees für die Steuerung von Mensch und Roboter verwendet werden. +Die hierfür erstellten Nodes sollen universell gestaltet werden, um alle Szenarien, welche in dieser Arbeit bearbeitet werden, abzudecken. diff --git a/tex/3_Auswahl.tex b/tex/3_Auswahl.tex new file mode 100644 index 0000000..04558a6 --- /dev/null +++ b/tex/3_Auswahl.tex @@ -0,0 +1,171 @@ +\chapter{Komponenten-/Softwareauswahl} +\section{Dienstumgebung (ROS2)} +\subsection{Auswahl} +Durch eine Dienstumgebung werden häufig benötigte Funktionen bereitgestellt, welche in Programmen genutzt werden können. +Dabei ist es irrelevant, ob diese für simulierte, aber auch echte Hardware, genutzt werden. +Bei einer Dienstumgebung für Roboter gehören zu den grundlegendn Aspekten die Nachrichtenübergabe zwischen einzelen interagierenden Programmen, um eine gemeinsame Basis für ein einfach erweiterbares System zu schaffen. + +In diesem Bereich sticht ROS als Dienstumgebung für Roboter hervor, da es sich um ein etabliertes, quelloffenes und häufig verwendetes System handelt. +Es bietet die oben genannten Aspekte und einige weitere Verbesserungen, welche später näher beleuchtet werden. +Die neuste Version ROS2 bietet dabei einige Verbesserungen im Vergleich zu früheren Version ROS1. +Ein neues Nachrichtenformat mit Quality of Service kann zum Beispiel Nachrichten vorhalten und über sowohl TCP als auch UDP kommunizieren. +Außerdem werden nun neben CMake auch andere Buildsysteme unterstützt, unter anderem auch Python. + +Generell existieren im Feld der Roboter-Dienstumgebungen keine Alternativen mit ähnlichem Funktionsumfang und gleicher Reichweite, jedoch sind andere Systeme mit anderen Nachrichtenformaten denkbar. +Vor allem die unzähligen ROS-Bibliotheken, welche von Nutzern des Systems über die Jahre erstellt wurden, machen das System so populär.\cite{rospackages} + +-Alternative Ökosysteme mit gleichem Umfang wie ROS existieren nicht. +-ROS2 +-Andere (nur) Messagingsysteme +-LCM +-ZeroMQ +\subsection{Beschreibung} +ROS2\cite{doi:10.1126/scirobotics.abm6074}, später auch einfach nur ROS genannt, beschreibt sich selbst als ``a meta operating system for robots''\cite{ros-git}. +Hierbei ist ``operating system'' nicht in seiner herkömmlichen Bedeutung eines vollständigen Betriebssystems zu verstehen. +Es handelt sich dabei um eine gemeinsame Grundlage für Programme und Daten, welche durch ROS bereitgestellt wird. + +Einzelne Bestandteile in der Umgebung sind dabei in Pakete gegliedert. +Ein Paket kann beliebig viele Daten und Programme beinhalten, welche in zwei Dateien beschrieben werden. +In CMakeLists.txt befinden sich Buildinstruktionen für den Compiler, falls sich Programme im Paket befinden. +Außerdem können bestimmte Pfade aus dem Paket exportiert werden, sodass diese später im Workspace verfügbar sind. +Programme, welche mit anderen Programmen in der Umgebung interagieren, werden in ROS ``Nodes'' genannt. + +Zu den Aufgaben von ROS gehören dabei: +\begin{description} + \item[Buildumgebung]\hfill \\ + ROS benutzt colcon \cite{colcon}, um Pakete in den Workspaces reproduzierbar zu erstellen. + Hierfür werden CMake und einige Erweiterungen, wie z.B. ament\_cmake eingesetzt. + + \item[Workspaceverwaltung]\hfill \\ + Pakete können in verschiedenen Verzeichnissen installiert werden und müssen für andere Pakete auffindbar sein. + ROS nutzt hierfür von colcon generierte Skripte, welche beim Erstellen eines Pakets und eines Workspaces mit angelegt werden. + Das Skript des Pakets fügt nur dieses Paket der Umgebung hinzu, das Skript des Workspaces führt alle Skripte der enthaltenen Pakete aus, um diese der Umgebung hinzuzufügen. + + \item[Abhängigkeitsverwaltung]\hfill \\ + ROS kann durch die in den Paketen deklarierten Abhängigkeiten prüfen, ob diese in der aktuellen Umgebung verfügbar sind. + Dies vermeidet Abstürze und undefiniertes Verhalten in der Ausführung von Nodes. + + \item[Datenübertragung]\hfill \\ + Nodes müssen miteinander auf einem festgelegten Weg kommunizieren können, um beliebige Verbindungen dieser zu unterstützen. + Dieser wird durch ROS in Form mehrerer Bibliotheken für unterschiedliche Sprachen bereitgestellt. + + \item[Parameterübergabe]\hfill \\ + Nodes benötigen häufig problemspezifische Konfiguration, um in vorher nicht bedachten Szenarien eingesetzt werden zu können. + ROS stellt diese durch deklarierfähige und integrierte Argumente bereit. + + \item[Startverwaltung]\hfill \\ + In sogenannten ``launch''-Files können verschiedene Nodes und andere ``launch''-Files zu komplexen Startvorgängen zusammengefasst werden. +\end{description} + + +\section{Simulationsumgebung (Gazebo)} +\subsection{Auswahl} +Als Simulationsumgebung können verschiedene Programme genutzt werden, welche sich in ihrem Funktionsumfang stak unterscheiden. +Hierfür kommen dedizierte Werkzeuge zur Robotersimulation, aber auch zum Beispiel universell einsetzbare Gameengines in Frage. +Diese Werkzeuge müssen hierfür auf ihre Tauglichkeit für die gesetzte Aufgabe geprüft werden. +Auch andere Aspekte sind hierbei zu betrachten, wie Lizenzen oder schwer bewertbare Aspekte wie Nutzerfreundlichkeit. +Für die Auswahl kommen verschiedene Prgramme in Frage, welche im folgenden weiter beleuchtet werden. + +CoppeliaSim, früher auch V-REP genannt, ist eine Robotersimulationsumgebung mit integriertem Editor und ROS-Unterstützung. +Es unterstützt viele Sprachen (C/C++, Python, Java, Lua, Matlab oder Octave) zur Entwicklung von Erweiterungen des Simulators. +Der Simulator selbst unterstützt Menschliche Aktoren, jedoch können diese nur Animationen abspielen oder zusammen mit Bewegungen abspielen. +CoppeliaSim existiert in 3 Versionen, welche sich im Funktionsumfang unterscheiden, jedoch hat nur die professionelle Version Zugriff auf alle Funktionen und Verwendungsszenarien. + +Gazebo Ignition ist wie CoppeliaSim eine Robotersimulationsumgebung, jedoch ohne integrierten Editor und direkte ROS-Unterstützung. +Gazebo setzt wie CoppeliaSim auf Erweiterungen, welche die gewünschten Funktionen einbinden können. +Zum Beispiel existiert auch eine ROS-Brücke, welche die Anbindung an ROS ermöglicht. +Auch hier unterstützt der Simulator nur Animationen für menschliche Aktoren. +Das Projekt ist Open Source, unter der Apache Lizenz (Version 2.0), was die Verwendung in jeglichen Szenarien erleichtert. + +Unity hingegen ist primär eine Grafikengine für Nutzung in Computerspielen. +Es existieren mehrere Systeme zur Anbindung der Engine an ROS, vor allem das offizielle ``Robotics Simulation''-Paket und ZeroSim. +Beide Systeme erlauben die Erweiterung der Gameengine um die Simulation von Robotern. +Unity besitzt eine gute Dokumentation, die vor allem auf die Nutzung im Einsteigerbereich zurückzuführen ist. +Auch die Optionen zur Menschensimulation sind gut, da diese häufig in Spielen verwendet werden. +Ein großer Nachteil hingegen ist die Lizenz, welche nur für Einzelpersonen kostenlos ist. + +Die Unreal Engine ist wie Unity eine Grafikengine aus dem Spielebereich. +Auch hier ist die Menschensimulation aufgrund oben genannter Gründe gut möglich. +Jedoch existiert für Unreal Engine keine offizielle Lösung zur Anbindung an ROS2. +Die Programmierung der Engine erfolgt in C++, was einer Drittlösung erlaubte, eine ROS-Anbindung für Unreal Engine zu erstellen. +Die Lizenz der Unreal Engine erlaubt die kostenfreie Nutzung bis zu einem gewissen Umsatz mit der erstellten Software. + +Eine weitere Möglichkeit zur Simulation stellt die Grafikengine Godot dar. +Im Vergleich zu Unity und Unreal Engine ist Godot quelloffene Software unter der MIT-Lizenz. +Auch hier stellt die Simulation von menschlichen Aktoren eine Standartaufgabe dar, jedoch befinden sich Teile des dafür verwendeten Systems derzeit in Überarbeitung. +Auch für diese Engine existiert eine ROS2-Anbindung, jedoch ist diese nicht offiziell. + +Jede der drei Gameengines besitzt ein integriertes Physiksystem, welches die Simulation von starren Körpern und Gelenken erlaubt. +Aus diesen Funktionen könnte ein Roboterarm aufgebaut werden, welcher dann durch eine der ROS-Brücken der Engines gesteuert werden kann. + +Die Wahl der Simulationsumgebung fiel auf Gazebo Ignition, da dieser Simulator bereits im ROS-Framework etabliert ist. +Dabei erlauben die offizielle ROS-Anbindung und offene Lizenz eine zuverlässige Verwendung in unterschidlichsten Szenarien. + +\subsection{Robotersimulation} +Für die Robotersimulation wird ein Modell des Roboters benötigt, in welchem dieser für die Siimulationsumgebung beschrieben wird. +Gazebo nutzt hierfür .srdf-Dateien, welche auf xml basieren. +In diesen werden die einzelnen Glieder des Arms und die verbindenden Gelenke beschrieben. + +Jedes Glied des Modells besitzt eine Masse, einen Masseschwerpunkt und eine Trägheitsmatrix für die Physiksimulation in Gazebo. +Außerdem werden Modelle für die visuelle Repräsentation in Gazebo und die Kollisionserkennung in der Physiksimulation hinterlegt. +Für beide existieren einfache Modelle wie Zylinder, Boxen und Kugeln. +Da diese Formen nicht jeden Anwendungsfall abdecken und in der visuellen Repräsentation nicht ausreichen, können auch eigene Modelle hinterlegt werden. + +Gelenke werden separat von den Gliedern definiert und verbinden jeweils zwei Glieder miteinander. +Durch das Aneinanderreihen von mehreren Gliedern und Gelenken kann so jeder Roboteraufbau beschrieben werden. +Jedes Gelenk besitzt eine Position und Rotation im Raum, um dessen Effekte je nach Typ des Gelenks berechnen zu können. +Aspekte wie Reibung und Dämpfung können auch für die Physiksimulation angegeben werden. +Folgende Typen von Gelenken können in urdf genutzt werden: +\begin{description} + \item[freie Gelenke] + ermöglichen vollständige Bewegung in allen 6 Freiheitsgraden. Sie stellen den normalen Zustand der Gelenke zueinander dar. + \item[planare Gelenke] + erlauben Bewegungen senkrecht zur Achse des Gelenks. Sie werden für zum Beispiel Bodenkollisionen eingesetzt. + \item[feste Gelenke] + sperren alle 6 Freiheitsgrade und werden häufig zur Plazierung von Objekten in einer Szene genutzt. + \item[kontinuierliche Gelenke] + erlauben die beliebige Rotation um die Achse des Gelenks. Sie sind nur selten in rotierenden Gelenken mit Schleifkontakten zu finden. + \item[drehbare Gelenke] + verhalten sich wie kontinuerliche Verbindungen, haben jedoch minimale und maximale Auslenkungen. Sie sind die häufigste Art von Gelenken in Roboterarmen. + \item[prismatische Gelenke] + ermöglichen die Bewegung entlang der Achse des Gelenks. Denkbare Anwendungsfälle sind simulierte lineare Aktuatoren. +\end{description} +\subsection{Menschensimulation} +Gazebo besitzt bereits ein einfaches Animationssystem für bewegliche Aktoren, welches auch für Menschen nutzbar ist. +Es existiert bereits ein Modell eines Menschen mit mehreren Animationen, welche allein abgespielt, oder an Bewegungen gekoppelt werden können. +Dadurch ist eine Laufanimation realisierbar, welche synchronisiert zur Bewegung abgespielt wird. + +Jedoch ist dies nur unter der Bedingung möglich, dass der gesamte Bewegungsablauf zum Simulationsstart bekannt ist. +Dies ist auf die Definition der Pfade, welche die Bewegung auslösen, zurückzuführen. +Diese können nur in der .sdf-Datei des Aktoren definiert werden, was Veränderungen zur Laufzeit ausschließt. +Durch diesen Umstand ist der mögliche Simulationsumfang nicht ausreichend. + +Um diesen Umstand zu beheben, ist die Entwicklung eines eigenen Systems zum Bewegen und Animieren des Menschen unausweichlich. +Dieses System muss, wie im Konzept beschrieben, Steuerbefehle von außen empfangen, umsetzen und Feedback liefern können. + +\section{Roboterumgebung (MoveIt2)} +MoveIt2 ist das empfohlene ROS2 Paket für Bewegungsplanung von Robotern. +Das System besteht aus meheren Komponmenten, welche in ihrer Gesamtheit den Bereich der Bewegungsplanung abdecken. +Der Nutzer kann mit MoveIt auf mehreren Wegen Steuerbefehle für den Roboter absenden. + +Die einfachste Art der Inbetriebnahme ist über das mitgelieferte RViz-Plugin und die demo-Launch-Files, welche durch den Setupassistenten für den Roboter generiert werden. +Dort können Bewegungen durch das Bewegen von Markierungen oder in der Simulation geplant und ausgeführt werden. + +Da sich ein solches System nur beschränkt zur Automatisierung durch Software eignet, existieren auch noch andere Schnitstellen. +Für die Sprache Python existierte früher noch das moveit_commander Paket, welches den Zugriff auf MoveIt in Pyhon erlaubt, welches aber aktuell noch nicht portiert wurde. \cite{moveitpython} +Die direkte Nutzung der C++-API ist aktuell die einzige offizielle Möglichkeit, mit MoveIt auf einer abstrakteren Ebene zu interagieren. +Natürlich können die Befehle auch direkt an die entsprechenden Topics gesendet werden, was jedoch Erfahrung mit den verwendeten Datenstrukturen benötigt. + +Durch diese Schnittstelle erhält die sogenannte MoveGroup ihre Informationen über die gewünschte Bewegung. +Diese Daten können durch eine OccupancyMap ergänzt werden, welche die Bereiche beschreibt, welche sich um den Roboter befinden. +Eine solche Erweiterung erlaubt die Nutzung von Kollisionsvermeidung mit Objekten im Planungsbereich. + +Die Planung der Bewegung wird durch einen der zahlreichen implementierten Solver erledigt, welcher durch die MoveGroup aufgerufen wird. +Um die generierte Bewegung umzusetzen, werden die gewünschten Gelenkpositionen als Abfolge an ros_control weitergegeben. +Dabei können sowohl echte Hardwaretreiber, aber auch simulierte Roboter genutzt werden. +Der Erfolg der gesamten Pipeline kann dabei durch einen Feedbackmechanismus überwacht werden. + +Im Falle von Gazebo wird ign_ros_control genutzt, welches die benötigten ros_control Controller in die Simulation einbindet. +Diese können dann wie normale Controller von ros_control genutzt werden. + +Dieser Ablauf ist auch im Anhang unter Abbildung \ref{moveitpipeline} visualisiert. diff --git a/tex/4_Umsetzung.tex b/tex/4_Umsetzung.tex new file mode 100644 index 0000000..93fb61d --- /dev/null +++ b/tex/4_Umsetzung.tex @@ -0,0 +1,225 @@ +\chapter{Umsetzung} + +\section{Grundlegender Systemaufbau} +Der grundlegende Systemaufbau musste stark modifiziert werden, wie in Abbildung \ref{umsetzung_overview} zu sehen, um die gesetzten Aufgaben erfüllen zu können. +Dabei fallen vor allem die überarbeitete Kommunikation mit dem simulierten Menschen und die komplexere Steuerung des Roboterarms auf. + +Die komplexere Steuerung des Roboters ist auf die Struktur von MoveIt zurückzuführen, welches in viele einzelne Teilmodule aufgeteilt ist. +Diese müssen durch ihren modularen Aufbau, welcher für die Vielseitigkeit verantwortlich ist, einzeln konfiguriert werden, um miteinander in Interaktion treten zu können. + +Außerdem musste die Kommunikation des Modells des Menschen überarbeitet werden, da die ROS-Kommunikation in Gazebo nur mit Einschränkungen möglich ist. + +\begin{figure}[] +\includegraphics[width=\textwidth]{img/Umsetzung_Overview} +\centering +\caption{Visualisierung des überarbeiteten Konzepts} +\label{umsetzung_overview} +\end{figure} +\section{Mensch} +\subsection{Übersicht} +Das angepasste Verfahren zur Menschensteuerung in der Simulation verwendet mehrere Kommunikationswege. +Als erstes wird eine Bewegungs- oder Animationsanfrage an den ROS-Action-Server im ActorServer gesendet. +Wenn die Simulation aktuell keinen Befehl ausführt, wird diese Anfrage akzeptiert, ansonsten wird sie abgebrochen. +Daraufhin werden die Daten der Anfrage über eine Posix-Message-Queue vom ActorServer an das ActorPlugin in Gazebo gesendet. + +Dieses verwendet die Daten, um eine interne State-Machine in den entsprechenden Zustand zu setzen, welcher zur Ausführung des Befehls benötigt wird. + +Um Feedback an den Client des ROS-Action-Servers übertragen zu können, werden bei der Ausführung von Befehlen oder Zustandswechseln des ActorPlugins Feedbackdaten über eine separate MessageQueue zurück an den ActorServer übertragen. +Diese werden durch den ActorServer aufbereitet, da nicht alle Daten für die jeweilige laufende Aktion relevant sind und an den ROS-Action-Client gesendet. + +Um diese Befehle in der Simulation auch visuell umsetzen zu können, werden weitere Animationen für das Modell des Menschen benötigt, welche im Kontext der zur erfüllenden Aufgabe relevant sind. +Dafür muss dan Modell in einen animierbaren Zustand gebracht werden, in welchem dann weitere Animationen erstellt und in die Simulation eingebunden werden können. +\subsection{Modellierung} +Um neue Animationen für den Menschen in der Simulation erstellen zu können, muss ein Modell für diesen erstellt werden. +Dafür wurde eine der inkludierten Animationen in Blender geöffnet und das visuelle Modell kopiert. + +Dieses Modell war auf Grund von vielen inneren Falten nur schlecht für Animationen geeignet, weshalb das Modell an diesen Stellen vereinfacht wurde. +Eine solches Vorgehen beugt Anomalien bei der Animation durch unterschiedliche Verschiebung der Strukturen vor, welche vom inneren des Modells hervortreten können. + +Nun musste das visuelle Modell mit neuen Animationsknochen versehen werden, da die in der Animation vorhandenen Knochen nicht verbunden sind. +Diese Knochen bilden ein Skelett, welches zur Animation bewegt werden kann. + +In Blender können sogenannte Constraints verwendet werden, um die Gelenke in Gruppen zusammenzufassen und genauer zu spezifizieren. +Dazu wurde das Plugin ``Rigify'' verwendet, welches ein komplettes Skelett generiert und konfiguriert. + +Dieses generierte Skelett kann nun an das Modell angepasst werden. +Um eine bessere Übersicht zu ermöglichen, sollten als erstes alle nicht benötigten Skeletteile, wie zum Beispiel für Gesichtsanimationen, entfernt werden. +Danach werden alle Knochen dem visuellen Modell angepasst. +Dabei muss auf die Ausrichtung der Knochen zueinander geachtet werden. +Das Kreuzprodukt der Vektoren beider Knochensegmente ist die Richtung der Beugeachse, welche sich im Verbindungspunkt beider Knochen befindet. +Ist diese nicht richtig ausgerichtet, wenn zum Beispiel beide Knochen auf einer Gerade liegen, verbiegen sich Gelenke bei der Verwendung von inverser Kinematik zur Positionsvorgabe falsch. + +Das hier erstellte, verbesserte Rigify-Skelett kann nun einfacher animiert werden. +Dies liegt vor allem an neuen Markierungen in Blender, welche durch mehrere Constraints viele andere Knochen beeinflussen. +Beispielswise können Fuß- und Handmarkierungen gesetzt werden, welche die Rotation des Fußes oder der Hand, aber auch gleichzeitig die inverse Kinematik des gesamten Beins oder Arms automatisieren. +Selbiges gilt für neue Markierungen, welche zum Beispiel Hüft- und Kopfbewegungen vereinfachen. + +Das Exportieren eines solchen Rigs ist jedoch schwierig, da viele Grafikengines keine verschachtelten Skelette verstehen. +Dies ist auch der Grund, warum die Skelette beim initialen Import mitgelieferter Animationen nicht verbunden waren. + +Um aus einem existierenden, vollständig verbundenen Skelett einzelne Knochen zu extrahieren exisitiert ein weiteres Plugin mit dem Namen ``GameRig''. +Dieses separiert die Knochen wieder, um die Animationen für Grafikengines exportieren zu können. + +Nach dieser Veränderung kann die Animation als Collada-Animation exportiert werden. +Dabei muss darauf geachtet werden, dass die vorwärts gerichtete Achse auf die richtige Achse gestellt ist. +Außerdem ist es später einfacher, wenn nur eine Animation in jeder Datei vorhanden ist. +Dies ist dem Fakt geschuldet, dass diese anderen Animationen zwar verfügbar sind, jedoch aber nur durch einen Index unterscheidbar sind, der von der Reihenfolge der exportierten Animationen abhängig ist. + +\subsection{Programmierung} +\subsubsection{Message Queue} +Bei der Implementierung des ActorPlugins stellte sich heraus, dass die nun im ActorServer ausgelagerten Befehle mit den Befehlen im ros_control-Plugin kollidieren. +Dies geschieht, da beide Plugins rclcpp, eine Bibliothek zur Kommunikation mit ROS, verwenden. + +In dieser Bibliothek wird eine globale Instanz angelegt, welche den Zustand des Kommunikationsprotokolls abbildet. +Da jedoch von beiden Plugins auf diesen Zustand zugegriffen wird, kommt es zur Problemen, da kein Synchronisationsmechanismus existiert. +Die dadurch entstehenden gleichzeitigen Zugriffe auf die selben Ressourcen führen zur Terminierung des Programms. + +Eine Anpassung beider Plugins auf die gemeinsame Nutzung einer Ressource ist möglich, erfordert jedoch weitere Anpassungen, welche zeitlich nur schwer planbar sind. +Die Nutzung eines separaten Dienstes, welcher keinen globalen Kontext benötigt, ist die sicherste Lösung des Problems. +Durch einen solchen Dienst werden auch in Zukunft keine Plugins gestört, auch wenn sie selbigen Dienst zur Kommunikation verwenden. + +Die Auswahl eines Dienstes wurde dabei aus einer Reihe an unterschielichen Möglichkeiten getroffen. +Eine REST-API hat den Vorteil, dass sie durch fast jede Programmiersprache genutzt werden kann, die Sockets unterstützt, hat jedoch keinen einheitlichen Feedbackmechanismus. +Die neueren Websockets bieten die Möglichkeit, bidirektional Daten zu übertragen und erlauben somit Feedback an das aufrufende Programm. +Beide Technologien basieren jedoch auf einem Webserver, welcher auf einem bestimmten Port des Systems ausgeführt werden muss, was Kollisionen mit anderen Serveices ermöglicht. +Die Portnummer kann zwar geändert werden, ist jedoch nicht einfach mit einer Komponente assoziierbar, was sie zu einer ``Magischen Zahl'' macht. +Dies sorgt für schlechte Lesbarkeit in einem wichtigen Teil des Kontrollflusses. +Außerdem besitzen beide Terchnologien durch TCP oder UDP und HTTP relativ großen Protokolloverhead, welcher bei den hohen Updateraten der Gazebo-Simulation zu Problemen führen könnte. + +Eine andere Möglichkeit ist die Nutzung von ``shared memory'', einem geteilten Speicherbereich zwischen beiden Programmen. +Dieser kann zur bidirektionalen Kommunikation genutzt werden, da beide Programme auf den Speicher zugreifen können. +Alle Zugriffe auf den Bereich sind extrem schnell, was diese Technik ideal zur schnellen Datenübertragung zwischen Prozessen macht. +Durch das erlauben gleichzeitiger Zugriffe kann es hierbei vorkommen, dass die selbe Adresse gleichzeitig von einem Programm gelesen und von einem anderen geschrieben wird. +Die dabei gelesenen Daten können Schäden aufweisen, weswegen Zugriffe auf den Speicherbereich koordiniert werden müssen. + +Die letzte betrachtete Methode ist die Verwendung einer Message Queue. +Hier wird im Betriebssystem ein Speicherbereich mit bestimmter Größe für den Datenaustauch reserviert. +Dieser Bereich besitzt ein Identifikationsmerkmal, mit welchem Anwendungen Zugriff auf diesen erlangen können. +Ein Programm kann in diesem Bereich Nachrichten ablegen, welche durch das andere Programm gelesen werden können. +Die Koordinierung der Zugriffe erfolgt dabei durch das Betriebssystem, was gleichzeitige Zugriffe, wie bei shared memory, aussschließt. +Hierdurch kommt es zu einem Anstieg an Latenzzeit, jedoch ist dieser ausreichend gering. + +Die Wahl des Dienstes fiel auf eine MessageQueue, jedoch existieren unter Linux 2 unabhängige Implementationen. +Die erste Implementation ist die System V MessageQueue, und verwendet zur Identifikation einfache Integer. +Eine Spezialität dieser alten Implementation ist das Sortieren der Nachrichten nach Nachrichtentyp in der gleichen Warteschlange. +Die neuere Implementation der POSIX MessageQueue bietet einige weitere Funktionen, wie zum Beispiel aynchrone Benachrichtigungen bei neuen Nachrichten, Quality of Service und nutzt bis zu 256 Zeichen lange Strings zur Identifikation. + +Die ausgewählte Implementation ist die neuere POSIX-Implementation einer Message Queue, da diese basierend auf den Erfahrungen mit der System V Implementation verbessert wurde. +\subsubsection{Nachrichten} +Die versendeten Nachrichten für den ActionServer, als auch für die Message Queue sind in den Paketen \code{ros_actor_action_server_msgs} und \code{ros_actor_message_queue_msgs} abgelegt. +Die beiden ActionServer definieren jeweils 3 Nachrichten, welche eine Startnachricht, das Feedback während der Laufzeit und eine Endnachricht beschreiben. + +In der Startnachricht werden alle Daten, welche der Server für die Bearbeitung einer Anfrage benötigt, übergeben. +Dies geschieht, damit der Auftrag schon beim Start abgebrochen werden kann, sollte dieser nicht erfüllbar sein. + +Die Feedbacknachrichten werden vom Server an den Client zurück gesendet, solange das Programm ausgeführt wird. +Dabei ist es Aufgabe des Programms, diese in beliebigen Abständen an den Client zu senden. + +Die Endnachricht kann Rückgabewerte für die ausgeführte Aufgabe enthalten, falls diese benötigt werden. +Sie werden in diesem Projekt nicht genutzt, da das Beenden eines Auftrags immer mit einer einfachen Erfolgs- oder Misserfolgsmeldung quittiert wird. +\subsubsection{ActorServer} +Der ActorServer ist die Brücke zwischen ROS und dem ActorPlugin. +Es werden zwei ActionServer angeboten, welche jeweils Bewegungen oder Animationen des simulierten Menschen auslösen können. +Beide ActionServer prüfen zuerst, ob bereits eine andere Aktion ausgeführt wird. +Sollte dies der Fall sein, wird die Anfrage abgelehnt. +Im anderen Fall wird die Aufgabe akzeptiert und in das MessageQueue-Format übersetzt und an das ActorPlugin gesandt. +Hier kommt es zu einer forcierten Warteschleife, welche die Bestätigung der Aktion vom ActorPlugin in der Feedback-Queue wartet, um das Starten mehrerer gleichzeitiger Aktionen zu unterbinden. +Parallel werden alle eingehenden Feedback-Nachrichten der Message Queue des ActorPlugins in Feedback für die aktuell laufende Action umgewandelt. + +Im Falle des Bewegungs-ActionServers werden mehrere Parameter benötigt. +Zuerst werden Animationsname und -diztanz benötigt, um die richtige Animation auszuwählen und die Bewegung mit der Animation zu synchronisieren. +Als Feedbacknachricht erhält der Client die aktuelle Pose des Actors im Simulationsraum. + +Soll eine Animation über den Action Server abgespielt werden, wird auch hier ein Animationsname, jedoch auch eine Animationsgeschwindigkeit benötigt. +Die Feedbacknachricht enthält den Fortschritt der Animation als Gleitkommazahl. +\subsubsection{Gazebo Plugin} +Das ActorPlugin nutzt die Daten aus der Message Queue für Befehle, um diese in der Simulation umzusetzen. +Es werden dabei mehrere Zustände unterschieden. +\begin{description} + \item[Setup] + wird ausschließlich zu Simulationsbeginn verwendet, um alle benötigten Referenzen aus der Simualtionumgebung im Plugin zu hinerlegen, so dass diese in den anderen Zuständen genutzt werden können. + \item[Movement] + bedeutet die Ausführung einer Bewegung in potentiell mehreren Schritten. + Zuerst wird die Distanz zum Zielpunkt geprüft. + Ist diese ausreichend gering, wird nur eine Bewegung in die gewünschte Endausrichtung durchgeführt. + Ist diese größer, dreht sich der Actor in Richtung des Ziels und bewegt sich anschließend dorthin. + Falls die gewünschte Endrotation nicht einem Null-Quaternion entspricht, wird anschließend noch eine Rotation in die Zielrichtung durchgeführt. + \item[Animation] + entspricht der Ausführung einer Animation an der aktuellen Position des Actors. + Diese kann durch einen Skalierungsfaktor beschleunigt oder verlangsamt werden. + \item[Idle] + ist der Zustand, welcher nach erfolgreicher Ausführung eines Befehls angenommen wird. +\end{description} + +Das ActorPlugin besitzt kein Konzept des ActionServers und verlässt sich auf den ActorServer, welcher die Feedbacknachrichten in das richtige Format bringt. +Feedback wird in den Zuständen Movement und Animation in jedem Simulationsschritt gesendet. +Um auch Zustandsübergänge erkennen zu können, werden auch diese als Feedback an den ActorServer gesendet. +\section{Roboter} +\subsection{Übersicht} +\subsection{Modellierung} +Für den Kuka LBR iisy existiert kein Simulationsmodell für Gazebo und ROS, weswegen dieses Modell aus Herstellerdaten generiert wurden. +Die Maße und Form des Roboters wurden aus einer .stl-Datei des Arms generiert. + +Diese Datei wurde dazu in die unterschidlichen Glieder aufgeteilt, welche danach in Blender weiter bearbeitet wurden. +Hiebei wurde die hohe Auflösung der Modelle reduziert, was sich in kleineren Dateien und Startzeiten der Simulation, aber auch in der Renderzeit der Simulation, auswirkt. +Außerdem wuden die Glieder so ausgerichtet, dass der Verbindungspunkt zum vorherigen Glied im Nullpunkt des Koordinatensystems befindet. + +Um die Simulation weiter zu beschleunigen, wurden die Kollisionsboxen des Arms noch weiter vereinfacht, was die Kollisionsüberprüfung dramatisch beschleunigt. +Dabei werden stark simplifizierte Formen verwendet, welche das hochqualitative visuelle Modell mit einfachen Formen umfassen. + +Diese Herangehensweise ist nötig, da Kollisionserkennung auf der CPU durchgeführt wird, welche durch komplexe Formen stark verlangsamt wird. + +Um aus den generierten Gliedermodellen ein komplettes Robotermodell erstellen zu können, wurde eine .urdf-Datei erstellt. +In dieser werden die verwendeten Gelenktypen zwischen den einzelnen Gliedern, aber auch deren Masse, maximale Geschwindigkeit, maximale Motorkraft, Reibung und Dämpfung hinterlegt. +Diese Daten können später zur Simulation der Motoren genutzt werden, welche den Arm bewegen. + +Die Gelenkpositionen sind dabei relative Angaben, welche sich auf das Glied beziehen, an welchem ein weiteres Glied über das Gelenk verbunden werden soll. +Alle kontrollierbaren Gelenke benötigen auch eine Gelenkachse, welche je nach Gelenktyp die mögliche Beweglichkeit bestimmt. + +Alle hier erstellten Dateien wurden im Paket \code{iisy_config} zusammengefasst, um diese einfacher wiederauffinden zu können. +\subsection{MoveIt 2 Konfiguration} +Das somit erstellte Paket kann nun mit dem neu implementierten MoveIt Configurator um die benötigten Kontrollstrukturen erweitert werden. +\subsection{Details} +Das so erstellte Modell kann nun zur Laufzeit in Gazebo geladen werden. +Dafür wird das Paket \code{ros_gz_sim} verwendet, welches das \code{create} Programm beinhaltet. +Mit diesem Werkzeuk kann ein Modell unter einem bestimmten Namen anhand einer Datei oder eines übergebenen Strings in Gazebo importiert werden. +Das Modell kann dabei über Argumente im Raum verschoben und rotiert werden, falls diese Funktionalität benötigt wird. + +Im Modell sind auch die verwendeten Gazebo-Plugins deklariert, welche für die Integration mit dem \code{ros_control} verantwortlich sind. + +\section{Behavior Trees} +Alle Behavior Trees wurden im Paket \code{btree_trees} organisert, welche durch das Paket \code{btree_nodes} gelesen werden. +BehaviorTrees werden in \code{behaviortree_cpp_v3} als .xml-Dateien gespeichert. +Diese Dateien enthalten die Anordnung der Nodes selbst, aber auch weitere Konfigurationsmöglichkeiten in Form von Ein- und Ausgabeschnittstellen. + +Solche Schnittstellen können verwendet werden, um Nodes generischer gestalten zu können. +So kann auf feste Parameter in den Nodes selber verzichtet werden, was das erstellen mehrerer Nodes für ähnliche Funktionalitäten verhindert. +Diese Daten können sowohl aus einem String ausgelesen werden, falls die ensprechende Funktion, welche diese in den Zieltyp übersetzt, implementiert wurde. +Aber sie können auch aus dem sogenannten Blackboard entnommen werden. + +Das Blackboard ist ein System, welches die Nutzung von Variablen als Parameter für Ein- und Ausgänge erlaubt. +Diese werden im Hintergrund als eine Referenz auf den eigentlichen Wert gespeichert. +Eine solche Funktion erlaubt das weitere Zerlegen von Vorgängen innerhalb des BehaviorTrees. +Solche kleineren Nodes sind durch ihren limitierten Umfang universeller einsetzbar, da sie nur kleinere Teilprobleme betrachten, welche zu komplexeren Strukturen zusammengesetzt werden können. + +Um die dadurch wachsenden Strukturen besser überblicken zu können, lassen sich Nodes als sogenannte SubTrees abspeichern. +Diese bilden dann in ihrer Gesamtheit eine neue Node, welche im BehaviorTree eingesetzt werden kann. +Um den Einsatz von Variablen innerhalb eines SubTrees zu ermöglichen, besitzt jeder SubTree ein separates Blackboard. +Dadurch kann ein Eingriff in äußere Funktionalität verhindert werden. + +Natürlich sollte es auch möglich sein, Variablen an solche SubTrees zu übergeben. +Diese können, wie auch bei normalen Nodes, einfach als Parameter an den SubTree übergeben werden. +Die Bibliothek \code{behaviortree_cpp_v3} verbindet dann diese Werte und erlaubt die Datenübergabe zu und von dem SubTree. + +\subsection{Asynchrone Nodes} +Da nicht jeder Prozess in einem einzigen Durchlauf des BehaviorTrees abgebildet werden kann, muss die Möglichkeit geschaffen werden, lang anhaltende Prozesse abzubilden. +Dies geschieht in in \code{behaviortree_cpp_v3} durch asynchrone Nodes. + +Eine asynchrone Node besitzt neben den Zuständen SUCCESS und FAILURE auch noch die beiden anderen Zustände RUNNING und IDLE. + +Der Zustand RUNNING steht dabei für eine Node, welche sich noch in der Ausführung befindet. +So lang dieser Zustand anhält, wird die Node nicht noch ein weiteres Mal gestartet, sondern nur der Zustand abgefragt. + +Der IDLE-Zustand ist ein besonderer Zustand, welcher nur durch eine vollständige Ausführung erreichbar ist. +Er wird von der Node angenommen, nachdem ein RUNNING Zustand durch entweder SUCCESS oder FAILURE beendet wurde und darf sonst nicht verwendet werden. + diff --git a/tex/Aufgabenstellung.pdf b/tex/Aufgabenstellung.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5a6493b695c70ce7847e9bc590e949cc0f1734e3 GIT binary patch literal 290347 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≠XFB$J| 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

hR+B)lAFO`#qZ{B;sdzzf0B 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