Skip to content
Snippets Groups Projects
Commit 7bf79838 authored by Matteo Anedda's avatar Matteo Anedda
Browse files

...

parent c23d938f
No related branches found
No related tags found
No related merge requests found
Pipeline #11999 passed with warnings
% the following command is only required if the thesis is written in german
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
% change to english for english theses
\documentclass[ngerman,BCOR=1.5cm,twoside]{tudscrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{isodate}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage[
style=numeric-comp,
backend=biber,
url=false,
doi=true,
isbn=false,
hyperref,
]{biblatex}
\addbibresource{bibliography.bib}
\AtEveryBibitem{%
\clearfield{note}%
}
\renewbibmacro*{doi+eprint+url}{%
\printfield{doi}%
\newunit\newblock%
\iftoggle{bbx:eprint}{%
\usebibmacro{eprint}%
}{}%
\newunit\newblock%
\iffieldundef{doi}{%
\usebibmacro{url+urldate}}%
{}%
}
\usepackage[hidelinks]{hyperref} % makes all links clickable but hides ugly boxes
\usepackage[capitalise,nameinlink,noabbrev]{cleveref} % automatically inserts Fig. X in the text with \cref{..}
\usepackage[colorinlistoftodos,prependcaption,textsize=tiny]{todonotes}
\usepackage{graphicx}
\graphicspath{ {./images/} }
% if you need mathy stuff
\newtheorem{lem}{Lemma}
\crefname{lem}{Lemma}{Lemmas}
\newtheorem{thm}{Theorem}
\crefname{thm}{Theorem}{Theorems}
\newtheorem{defs}{Definition}
\crefname{defs}{Def.}{Defs.}
\usepackage{blindtext}
%\usepackage{tudscrsupervisor} % if you want to copy the sources of the task description into the thesis
\usepackage{csquotes}
\usepackage{caption}
\captionsetup{font=sf,labelfont=bf,labelsep=space}
\usepackage{floatrow}
\floatsetup{font=sf}
\floatsetup[table]{style=plaintop}
\captionsetup{singlelinecheck=off,format=hang,justification=raggedright}
\DeclareCaptionSubType[alph]{figure}
\DeclareCaptionSubType[alph]{table}
\captionsetup[subfloat]{labelformat=brace,list=off}
\usepackage{booktabs}
\usepackage{array}
\usepackage{tabularx}
\usepackage{tabulary}
\usepackage{tabu}
\usepackage{longtable}
\usepackage{quoting}
\usepackage[babel]{microtype}
\usepackage{xfrac}
\usepackage{enumitem}
\setlist[itemize]{noitemsep}
\usepackage{ellipsis}
\let\ellipsispunctuation\relax
\input{lst.tex}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows,calc,math,angles,quotes,chains,shapes}
\newcommand{\R}{\mathbb{R}}
\newcommand{\N}{\mathbb{N}}
\usepackage{hyperref}
\usepackage{mathtools}
\usepackage{bera}% optional: just to have a nice mono-spaced font
\usepackage{listings}
\usepackage{xcolor}
\usepackage{lstautogobble}
\usepackage{dirtree}
\begin{document}
\faculty{Fakultät Informatik}
\department{}
\institute{Institut für Software- und Multimediatechnik}
\chair{Lehrstuhl für Softwaretechnologie}
\title{%
Automatisierte Konstruktion kollaborativer Multi-Roboter Arbeitsräume
}
%% for a bachelor thesis
%\thesis{bachelor}
%\graduation[B.Sc.]{Bachelor of Science}
% for a master thesis
\thesis{bachelor}
\graduation[B.Sc.]{Bachelor of Science}
% for a diploma thesis
%\thesis{diploma}
%\graduation[Dipl.Inf.]{Diplom-Informatiker}
\author{Matteo Anedda}
\emailaddress[]{matteo.anedda@mailbox.tu-dresden.de}
\matriculationnumber{4732423}
\matriculationyear{2017}
\dateofbirth{17.09.1997}
\placeofbirth{Riesa}
%\discipline{Distributed Systems Engineering}
\course{Bachelor Informatik}
\supervisor{%
Dipl.-Inf. Sebastian Ebert
\and Dipl.-Inf. Johannes Mey%
}
\professor{Prof. Dr. rer. nat. habil. Uwe Aßmann}
\date{01.12.2021}
\maketitle
\newpage
\tableofcontents
\listoffigures
\listoftables
\input{sections/einleitung}
\input{sections/grundlagen.tex}
\input{sections/sota.tex}
\input{sections/konzept.tex}
\input{sections/fallbeispiel.tex}
\input{sections/implementierung.tex}
\input{sections/evaluation.tex}
% \input{sections/zusammenfassung.tex}
\nocite{*}
\printbibliography[heading=bibintoc]\label{sec:bibliography}%
%\appendix
%\input{sections/appendix}
\confirmation
\end{document}
......@@ -8,20 +8,60 @@
url = {https://link.springer.com/article/10.1114/1.1326030},
keywords = {Biochemistry;Biological and Medical Physics;Biomedical Engineering;Biomedical Engineering and Bioengineering;Biomedicine;Biophysics;Classical Mechanics;general;Humans;Joints/physiology;Models, Biological;Movement/physiology;Rotation;Shoulder Joint/physiology},
pages = {1381--1392},
pagination = {page},
volume = {28},
number = {11},
issn = {0090-6964},
journal = {Annals of biomedical engineering},
doi = {10.1114/1.1326030},
file = {A Spherical Rotation Coordinate System for the Descripti:Attachments/A Spherical Rotation Coordinate System for the Descripti.pdf:application/pdf}
file = {A Spherical Rotation Coordinate System for the Descripti:Attachments/A Spherical Rotation Coordinate System for the Descripti.pdf:application/pdf},
publisher = {Springer and {Kluwer Academic Publishers-Plenum Publishers}}
}
@book{Deserno2004,
@incollection{Chitta2016,
author = {Chitta, Sachin},
title = {MoveIt!: An Introduction},
pages = {3--27},
bookpagination = {page},
volume = {625},
publisher = {{Springer International Publishing}},
isbn = {978-3-319-26052-5},
series = {Studies in Computational Intelligence},
editor = {Koubaa, Anis},
booktitle = {Robot Operating System (ROS)},
year = {2016},
address = {Cham},
doi = {10.1007/978-3-319-26054-9_1},
file = {MoveIt An Introduction:Attachments/MoveIt An Introduction.pdf:application/pdf}
}
@article{DavidGossow2011,
abstract = {PDF | On Dec 1, 2011, David Gossow and others published Interactive Markers: 3-D User Interfaces for ROS Applications | Find, read and cite all the research you need on ResearchGate},
author = {{David Gossow} and {Adam Leeper} and {Dave Hershberger} and {Matei T. Ciocarlie}},
year = {2011},
title = {Interactive Markers: 3-D User Interfaces for ROS Applications},
url = {https://www.researchgate.net/profile/david-gossow/publication/220556155_interactive_markers_3-d_user_interfaces_for_ros_applications},
pages = {14--15},
pagination = {page},
volume = {18},
number = {4},
issn = {1070-9932},
journal = {IEEE Robotics {\&} Automation Magazine},
doi = {10.1109/MRA.2011.943230},
file = {Interactive Markers 3-D User Interfaces for ROS Applications:Attachments/Interactive Markers 3-D User Interfaces for ROS Applications.pdf:application/pdf},
publisher = {{Institute of Electrical and Electronics Engineers}}
}
@article{Deserno2004,
author = {Deserno, Markus},
year = {2004},
title = {How to generate equidistributed points on the surface of a sphere},
url = {https://content.instructables.com/orig/fvd/crgp/ki8um30n/fvdcrgpki8um30n.pdf}
volume = {99},
number = {2},
journal = {If Polymerforshung (Ed.)}
}
......@@ -29,6 +69,7 @@
author = {Forstenhausler, Marc and Wetner, Tim and Dietmayer, Klaus},
title = {Optimized Mobile Robot Positioning for better Utilization of the Workspace of an attached Manipulator},
pages = {2074--2079},
bookpagination = {page},
publisher = {IEEE},
isbn = {978-1-7281-6794-7},
booktitle = {2020 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM)},
......@@ -37,33 +78,55 @@
}
@article{frankaHB,
author = {{Franka Emika GmbH}},
year = {2018},
title = {Franka-Panda User Handbook},
file = {Franka-Panda-UserGuide-eng:Attachments/Franka-Panda-UserGuide-eng.pdf:application/pdf}
}
@article{Holz2015,
author = {Holz, Dirk and Ichim, Alexandru E. and Tombari, Federico and Rusu, Radu B. and Behnke, Sven},
year = {2015},
title = {Registration with the Point Cloud Library: A Modular Framework for Aligning in 3-D},
pages = {110--124},
pagination = {page},
volume = {22},
number = {4},
issn = {1070-9932},
journal = {IEEE Robotics {\&} Automation Magazine},
doi = {10.1109/MRA.2015.2432331}
}
@article{Hornung2013,
abstract = {Three-dimensional models provide a volumetric representation of space which is important for a variety of robotic applications including flying robots and robots that are equipped with manipulators. In this paper, we present an open-source framework to generate volumetric 3D~environment models. Our mapping approach is based on octrees and uses probabilistic occupancy estimation. It explicitly represents not only occupied space, but also free and unknown areas. Furthermore, we propose an octree map compression method that keeps the 3D models compact. Our framework is available as an open-source C++ library and has already been successfully applied in several robotics projects. We present a series of experimental results carried out with real robots and on publicly available real-world datasets. The results demonstrate that our approach is able to update the representation efficiently and models the data consistently while keeping the memory requirement at a minimum.},
abstract = {Request PDF | OctoMap: An efficient probabilistic 3D mapping framework based on octrees | Three-dimensional models provide a volumetric representation of space which is important for a variety of robotic applications including flying... | Find, read and cite all the research you need on ResearchGate},
author = {Hornung, Armin and Wurm, Kai M. and Bennewitz, Maren and Stachniss, Cyrill and Burgard, Wolfram},
year = {2013},
title = {OctoMap: an efficient probabilistic 3D mapping framework based on octrees},
url = {https://link.springer.com/article/10.1007/s10514-012-9321-0},
keywords = {Artificial Intelligence;Computer Imaging;Control;Mechatronics;Pattern Recognition and Graphics;Robotics;Robotics and Automation;Vision},
url = {https://www.researchgate.net/publication/257523133_OctoMap_An_efficient_probabilistic_3D_mapping_framework_based_on_octrees},
pages = {189--206},
pagination = {page},
volume = {34},
number = {3},
issn = {1573-7527},
journal = {Autonomous Robots},
doi = {10.1007/s10514-012-9321-0},
file = {OctoMap an efficient probabilistic 3D mapping framework:Attachments/OctoMap an efficient probabilistic 3D mapping framework.pdf:application/pdf}
file = {Hornung, Wurm et al. 2013 - OctoMap an efficient probabilistic 3D:Attachments/Hornung, Wurm et al. 2013 - OctoMap an efficient probabilistic 3D.pdf:application/pdf},
publisher = {Springer Verlag}
}
@book{ITG2020,
year = {2020},
title = {ISR 2020: 52th International Symposium on Robotics in conjunction with: automatica December 9 -- 10, 2020, Online-Event},
url = {http://www.content-select.com/index.php?id=bib_view&ean=9783800754298},
keywords = {Collaborative Robots;Human-robot-collaboration;Industrial Robots;Mobile Robots;Robot Technologies;Robotic;Robotics in Production},
address = {Berlin},
edition = {Neuerscheinung},
publisher = {{VDE Verlag}},
isbn = {9783800754298},
editor = {ITG, V. D.E.}
@book{Koubaa.2016,
year = {2016},
title = {Robot Operating System (ROS)},
address = {Cham},
publisher = {{Springer International Publishing}},
isbn = {978-3-319-26052-5},
series = {Studies in Computational Intelligence},
editor = {Koubaa, Anis},
doi = {10.1007/978-3-319-26054-9}
}
......@@ -71,6 +134,7 @@
author = {Makhal, Abhijit and Goins, Alex K.},
title = {Reuleaux: Robot Base Placement by Reachability Analysis},
pages = {137--142},
bookpagination = {page},
publisher = {IEEE},
isbn = {978-1-5386-4652-6},
booktitle = {2018 Second IEEE International Conference on Robotic Computing (IRC)},
......@@ -86,12 +150,14 @@
title = {Multi-Robot Assembly Strategies and Metrics},
url = {https://www.researchgate.net/publication/322260778_Multi-Robot_Assembly_Strategies_and_Metrics},
pages = {1--32},
pagination = {page},
volume = {51},
number = {1},
issn = {0360-0300},
journal = {ACM computing surveys},
doi = {10.1145/3150225},
file = {Multi-Robot Assembly Strategies and Metrics:Attachments/Multi-Robot Assembly Strategies and Metrics.pdf:application/pdf}
file = {Multi-Robot Assembly Strategies and Metrics:Attachments/Multi-Robot Assembly Strategies and Metrics.pdf:application/pdf},
publisher = {{Association for Computing Machinery}}
}
......@@ -106,13 +172,20 @@
}
@proceedings{Porges2015,
@inproceedings{Porges2015,
abstract = {The utility of a mobile manipulator largely depends on its kinematic structure and mounting point on the robot body. The reachable workspace of the robot can be obtained offline and modeled as a discretized map called Reachability map. A Capability map is obtained by including some quality measure for the local dexterity of the manipulator, which helps to identify good and bad regions for manipulation. Once the maps are obtained based on forward or inverse kinematic methods, they can be used for numerous analysis tasks such as robot kinematics and workspace quality assessment, robot mounting point analysis or redundancy and failure analysis. This paper covers basic aspects of the Reachability and Capability map generation and storage, and shows particular applications of the maps for space robotics.},
year = {2015},
author = {Porges, Oliver and Lampariello, Roberto and Artigas, Jordi and Wedler, Armin and Borst, Christoph and Roa, Maximo A.},
title = {Reachability and Dexterity: Analysis and Applications for Space Robotics},
url = {http://robotics.estec.esa.int/ASTRA/Astra2015/index.html},
url = {https://elib.dlr.de/97212/},
keywords = {dexterity;reachability;robotic manipulator},
editor = {Porges, Oliver and Lampariello, Roberto and Artigas, Jordi and Wedler, Armin and Borst, Christoph and Roa, Maximo A.}
booktitle = {Workshop on Advanced Space Technologies for Robotics and Automation (ASTRA)},
year = {2015}
}
@incollection{Quigley,
author = {Quigley, Morgan and Faust, Josh and Foote, Tully and Leibs, Jeremy and others},
title = {ROS: an open-source Robot Operating System}
}
......@@ -123,40 +196,34 @@
url = {https://link.springer.com/article/10.1007/BF03024331},
keywords = {general;Mathematical and Computational Engineering;Mathematical and Computational Physics;Mathematical Methods in Physics;Mathematics;Numerical and Computational Physics;Simulation;Theoretical},
pages = {5--11},
pagination = {page},
volume = {19},
number = {1},
issn = {0343-6993},
journal = {The Mathematical Intelligencer},
doi = {10.1007/BF03024331},
file = {Distributing many points on a sphere:Attachments/Distributing many points on a sphere.pdf:application/pdf}
file = {Distributing many points on a sphere:Attachments/Distributing many points on a sphere.pdf:application/pdf},
publisher = {Springer and {Springer US}}
}
@book{Siciliano2016,
@book{Siciliano.2016,
year = {2016},
title = {Springer Handbook of Robotics},
price = {Book : circa EUR 306.90 (AT) (freier Preis), circa sfr 306.50 (freier Preis), circa EUR 298.53 (DE) (freier Preis)},
keywords = {Basic Principles and Methods of Robotics;Biologically-Inspired Robots;Human-Robot Interaction;Industrial Robotics;Life-Like Robotics;Manipulation and Interfaces of Robots;Mobile and Distributed Robotics;Roboethics;Robot Structures;Robotics;Robotics Foundations;Sensing and Perception of Robots;Springer Handbook of Robotics},
address = {Cham},
edition = {2nd ed. 2017},
publisher = {{Springer International Publishing} and Springer},
isbn = {9783319325507},
title = {Springer handbook of robotics},
url = {http://lib.myilibrary.com?id=943278},
address = {Berlin and Heidelberg},
edition = {2nd edition},
publisher = {Springer},
isbn = {9783319325521},
editor = {Siciliano, Bruno and Khatib, Oussama}
}
@misc{SphericalCoordinates,
year = {10/15/2021},
title = {Spherical Coordinates -- from Wolfram MathWorld},
url = {https://mathworld.wolfram.com/SphericalCoordinates.html},
urldate = {10/15/2021}
}
@inproceedings{Tao.662011682011,
author = {Tao, Long and Liu, Zhigang},
title = {Optimization on multi-robot workcell layout in vertical plane},
pages = {744--749},
bookpagination = {page},
publisher = {IEEE},
isbn = {978-1-4577-0268-6},
booktitle = {2011 IEEE International Conference on Information and Automation},
......@@ -169,6 +236,7 @@
author = {Vahrenkamp, Nikolaus and Asfour, Tamim and Dillmann, Rudiger},
title = {Robot placement based on reachability inversion},
pages = {1970--1975},
bookpagination = {page},
publisher = {IEEE},
isbn = {978-1-4673-5643-5},
booktitle = {2013 IEEE International Conference on Robotics and Automation},
......@@ -177,22 +245,11 @@
}
@misc{Wikipedia2021,
abstract = {Roll-Nick-Gier-Winkel, englisch roll-pitch-yaw angle, sind spezielle Eulerwinkel (Lagewinkel), die zur Beschreibung der Ausrichtung eines Fahrzeugs im dreidimensionalen Raum herangezogen werden. Diese Art der Richtungsmessung und -bestimmung durch Drehratensensoren wurde zur Navigation im Luftverkehr eingef{\"u}hrt und wird inzwischen neben Luftfahrzeugen auch f{\"u}r Raum-, Land- und Wasserfahrzeuge verwendet.},
editor = {Wikipedia},
year = {2021},
title = {Roll-Nick-Gier-Winkel},
url = {https://de.wikipedia.org/w/index.php?title=Roll-Nick-Gier-Winkel&oldid=209197743},
urldate = {7/11/2021},
doi = {Page},
file = {Roll-Nick-Gier-Winkel:Attachments/Roll-Nick-Gier-Winkel.pdf:application/pdf}
}
@inproceedings{Zacharias2007,
author = {Zacharias, Franziska and Borst, Christoph and Hirzinger, Gerd},
title = {Capturing robot workspace structure: representing robot capabilities},
pages = {3229--3236},
bookpagination = {page},
publisher = {IEEE},
isbn = {978-1-4244-0911-2},
booktitle = {2007 IEEE/RSJ International Conference on Intelligent Robots and Systems},
......@@ -205,6 +262,7 @@
author = {Zacharias, Franziska and Sepp, Wolfgang and Borst, Christoph and Hirzinger, Gerd},
title = {Using a model of the reachable workspace to position mobile manipulators for 3-d trajectories},
pages = {55--61},
bookpagination = {page},
publisher = {IEEE},
isbn = {978-1-4244-4597-4},
booktitle = {2009 9th IEEE-RAS International Conference on Humanoid Robots},
......
images/IMG_20211124_153815.jpg

3.12 MiB

......@@ -46,6 +46,9 @@
\lstdefinelanguage{JSON}{
style=common-style,
morecomment=[s]{<!--}{-->},
morecomment=[l]{\%},
float=tp,
floatplacement=tbp,
literate=
*{0}{{{\color{numb}0}}}{1}
{1}{{{\color{numb}1}}}{1}
......
\chapter{Einleitung}\label{ch:introduction}
'Collaborative Multi-Robot Work-Cells' beschreibt ein Gebiet der Robotik, dessen Inhalt die Kooperation mehrerer robotischer Systeme hinsichtlich der Lösung einer spezifischen Aufgabe innerhalb einer räumlichen Domäne ist. Die zugrundeliegenden Algorithmen ermöglichen dabei die Bewältigung der Aufgaben ohne Kollisionen untereinander, sowie mit Hindernissen in der Umgebung. \par
'Kollaborative Multi-Roboter Arbeitsräume' beschreiben ein Gebiet der Robotik, dessen Inhalt die Kooperation mehrerer robotischer Systeme hinsichtlich der Lösung einer spezifischen Aufgabe innerhalb einer räumlichen Domäne ist. Die zugrundeliegenden Algorithmen ermöglichen dabei die Bewältigung der Aufgaben ohne Kollisionen untereinander, sowie mit Hindernissen in der Umgebung. \par
Die Planung der Abläufe ist abhängig von der Beschaffenheit des Roboters, denn die Basis eines Roboters kann beweglich oder fest sein. Beispielsweise sind Roboterarme fest auf einer Platte montiert und somit fester Bestandteil der Umgebung. Ein Wechsel ihrer Position würde bedeuten, eine andere Stelle auf der Platte für die Montage zu präparieren, den Roboterarm zu demontieren und an anderer Stelle zu platzieren, was einen enormen Aufwand darstellt und den Erfolg der Handlung nicht garantiert. Daraus ist ersichtlich, dass die Positionierung unflexibler Roboter ein Problem aufweist, dessen Lösung direkten Einfluss hinsichtlich der zeitlicher Komponente, sowie der Bewältigung der spezifischen Aufgabe hat. Die Absolvierung dieser Aufgabe wird demzufolge durch effizientere Nutzung der Arbeitsumgebung besser umgesetzt, aufwändige Montagearbeiten während der Bearbeitung werden reduziert und der dadurch erschlossene Raum sowie die resultierende Zeit kann gewinnbringender genutzt werden. Im Anbetracht der stetig wachsenden Industrie und der sich daraus ergebenden Nachfrage nach effizienten automatisierten Produktionsverfahren, die den limitierten Arbeitsraum einer Produktionsstätte optimal nutzen, ist die Platzierung der Roboter ein entscheidender erster Schritt zur Optimierung des gesamten Arbeitsprozesses.
\section{Zielsetzung der wissenschaftlichen Arbeit}
......
\chapter{Fallbeispiel}\label{ch:caseStudy}
Inhalt dieses Kapitels ist die Demonstration der Funktionsweise einzelner Elemente der Implementierung und dessen Synergie mit MoveIt spezifischen Komponenten, sowie der Integration des franka\_ros Pakets \footnote{\url{http://wiki.ros.org/franka_ros}} anhand eines Beispiels. Dieses Paket stellt hierbei die sowohl grafische, als auch funktionelle Beschreibung der Bestandteile des gleichnamigen robotischen Systems zur Verfügung, welches primär Objekt der Ausführung ist.
Inhalt dieses Kapitels ist die Demonstration der Funktionsweise einzelner Elemente der Implementierung und dessen Synergie mit \emph{MoveIt!} spezifischen Komponenten, sowie der Integration des franka\_ros Pakets \footnote{\url{http://wiki.ros.org/franka_ros}} anhand eines Beispiels. Dieses Paket stellt hierbei die sowohl grafische, als auch funktionelle Beschreibung der Bestandteile des gleichnamigen robotischen Systems zur Verfügung, welches primär Objekt der Ausführung ist.
\section{Ausgangspunkt kinematischer Operationen}
MoveIt bietet über die move\_group Schnittstelle eine Möglichkeit die Kommunikation mittels spezieller Nachrichten und somit der Planung und Exekution kinematischer Operationen durch den Roboter. Dies bedingt eine Konfigurationsdatei, welche das robotische System konkretisiert, indem beispielsweise Kontrollelemente wie Endeffektoren als Gruppen definiert oder Adjazenzen der einzelnen Festkörper in Form einer Kollisionsmatrix erfasst werden oder weitere Nodes initialisiert werden. Die Konfigurationsdatei stellt dadurch den Ausgangspunkt aller operativen Aspekte des Fallbeispiels dar und ist daher sowohl für einen Roboter, als auch für mehrere robotische Systeme in der Implementierung enthalten. Diese Konfigurationen wurden mittels \emph{moveit setup assistant (MSA)} generiert.
......@@ -11,33 +11,30 @@ Die \emph{move\_group} Schnittstelle bietet keine Möglichkeit zur Deklaration e
Die Kalkulation valider Positionen für robotische Systeme erfordert die roboterzentrierte Inspektion des Arbeitsraums und eine Aufgabenbeschreibung, welche für $i \in \N_{>0}$ Endsysteme mindestens $i$ Operationsketten aufweist. Die diesbezüglich vorzunehmende Arbeitsraumanalyse und dessen Inversion ist aufgabenunabhängig, erfolgt daher a priori und kann auf alle Aufgabenbeschreibung angewendet werden, die vom Ausgangssystem der Analyse, wie beispielsweise dem \emph{Panda} Roboter der Franka Emika GmbH, operiert werden sollen. Die Aufgabenbeschreibung kann zum Ermittlungszeitpunkt vorgenommen werden oder schon persistiert vorliegen.
\subsection{Aufgabenkonstruktion}
Die Aufgabenbeschreibung in Form einer Operationskette erfolgt über interaktive Marker, die jeweils die Abstell- beziehungsweise Greifposition eines Primitives darstellen. Jede dieser Positionen erfordert ein zusätzliches Kollisionsobjekt als Operationsoberfläche \emph{Support\_Surface}, welche dem robotischen System über das spezifische Nachrichten kommuniziert wird und ohne dessen eine Exekution nicht erfolgt. Dieser redundante Aufwand wird im Algorithmus berücksichtigt und ist implizit durch die Position und Dimension des Kettenglieds definiert. Demzufolge ist beispielsweise eine Differenzierung der zu erzeugenden Kollisionsobjekte, durch Platzierung zusätzlicher Abstelltische, kein Aspekt der Aufgabenbeschreibung. Ausgangspunkt einer Operationskette und dessen Teilketten ist der Startknoten, welcher durch seine Identität $id=0$ und der Farbe gekennzeichnet ist. Es ist stets möglich, einen weiteren Knoten zu generieren, der als weiteres Kettenglied farblich und schriftlich gekennzeichnet ist. Die Schnittoption im Menü des Startknotens dupliziert diesen und ist ab einer Operationskette beziehungsweise Teilkette der Länge zwei möglich. Eine valide Aufgabenbeschreibung ist nur formulierbar und wird persistiert, wenn mindestens zwei Teilketten existieren die jeweils mindestens zwei Glieder enthalten, da dies die Notwendigkeit zweier robotischer Systeme und das Vorhandensein einer Greif und Abstellposition impliziert. Die Wiederherstellung des Ausgangszustands ist ebenfalls durch einen zusätzlichen Menüpunkt möglich, dies eliminiert alle Glieder bis auf den Startknoten. Anlog dupliziert die Kooperationsoption das jeweils letzte Glied der Operationskette beziehungsweise Teilkette und visualisiert diese Schnittmenge ebenfalls schriftlich und farblich. Dies impliziert, dass eine Operationskette aus Schnitt- und Kooperationskomponenten bestehen kann, was für deren Anwendung auf $n \in \N_{>2}$ robotischen Systemen relevant ist.
%\begin{figure}
%\ffigbox[\FBwidth]%
% {\begin{subfloatrow}%
% \ffigbox[\FBwidth]%
% {\fbox{\includegraphics[width=0.35\textwidth, height = 6cm]{images/task1.png}}}%
% {\caption{Definition eines neuen Kettenglieds}}
% \ffigbox[\FBwidth]%
% {\fbox{\includegraphics[width=0.35\textwidth, height =6cm]{images/task2.png}}}%
% {\caption{Option zur Erstellung von Kooperationsgliedern}}
% \end{subfloatrow}%
% {\caption{}}
%\ffigbox[\FBwidth]%
% \begin{subfloatrow}%
% \ffigbox[\FBwidth]%
% {\fbox{\includegraphics[width=0.35\textwidth, height =6cm]{images/task4.png}}}%
% {\caption{Option zur Spaltung der Operationskette}}
% \ffigbox[\FBwidth]%
% {\fbox{\includegraphics[width=0.35\textwidth, height =6cm]{images/task3.png}}}%
% {\caption{Generierung der Aufgabenbeschreibung anhand einer validen Operationskette }}
% \end{subfloatrow}}%
% {\caption{Generierung der Aufgabenbeschreibung anhand einer validen Operationskette }}
%\end{figure}
Die Aufgabenbeschreibung in Form einer Operationskette erfolgt über interaktive Marker, die jeweils die Abstell- beziehungsweise Greifposition eines Primitives darstellen. Jede dieser Positionen erfordert ein zusätzliches Kollisionsobjekt als Operationsoberfläche \emph{Support\_Surface}, welche dem robotischen System über spezifische Nachrichten kommuniziert wird und ohne dessen eine Exekution nicht erfolgt. Dieser redundante Aufwand wird im Algorithmus berücksichtigt und ist implizit durch die Position und Dimension des Kettenglieds definiert. Demzufolge ist beispielsweise eine Differenzierung der zu erzeugenden Kollisionsobjekte, durch Platzierung zusätzlicher Abstelltische, kein Aspekt der Aufgabenbeschreibung. Ausgangspunkt einer Operationskette und dessen Teilketten ist der Startknoten, welcher durch seine Identität $id=0$ und der Farbe gekennzeichnet ist. Es ist stets möglich, einen weiteren Knoten zu generieren, der als weiteres Kettenglied farblich und schriftlich gekennzeichnet ist. Die Schnittoption im Menü des Startknotens dupliziert diesen und ist ab einer Operationskette beziehungsweise Teilkette der Länge zwei möglich. Eine valide Aufgabenbeschreibung ist nur formulierbar und wird persistiert, wenn mindestens zwei Teilketten existieren die jeweils mindestens zwei Glieder enthalten, da dies die Notwendigkeit zweier robotischer Systeme und das Vorhandensein einer Greif und Abstellposition impliziert. Die Wiederherstellung des Ausgangszustands ist ebenfalls durch einen zusätzlichen Menüpunkt möglich, dies eliminiert alle Glieder bis auf den Startknoten. Anlog dupliziert die Kooperationsoption das jeweils letzte Glied der Operationskette beziehungsweise Teilkette und visualisiert diese Schnittmenge ebenfalls schriftlich und farblich. Dies impliziert, dass eine Operationskette aus Schnitt- und Kooperationskomponenten bestehen kann, was für deren Anwendung auf $n \in \N_{>2}$ robotischen Systemen relevant ist.
\begin{figure}[h!]
\ffigbox[\FBwidth]%
{\begin{subfloatrow}[2]
\ffigbox[\FBwidth]%
{\fbox{\includegraphics[width=0.35\textwidth, height = 6cm]{images/task1.png}}}%
{\caption{Definition eines neuen Kettenglieds}\label{fig:bild1}}%
\ffigbox[\FBwidth]%
{\fbox{\includegraphics[width=0.35\textwidth, height = 6cm]{images/task2.png}}}%
{\caption{Option zur Erstellung von Kooperationsgliedern} \label{fig:bild2}}
\end{subfloatrow}
\begin{subfloatrow}[2]
\ffigbox[\FBwidth]%
{\fbox{\includegraphics[width=0.35\textwidth, height = 6cm]{images/task3.png}}}%
{\caption{Definition eines neuen Kettenglieds}\label{fig:bild3}}%
\ffigbox[\FBwidth]%
{\fbox{\includegraphics[width=0.35\textwidth, height = 6cm]{images/task4.png}}}%
{\caption{Option zur Erstellung von Kooperationsgliedern} \label{fig:bild4}}
\end{subfloatrow}}
{\caption{ Darstellung der Mengen $\protect P_{total}$ und $\protect OR_{total}$. Ein roter Marker repräsentiert den Vektoren, den der Endeffektor einnimmt. Der grüne Pfeil zeigt in die Richtung, in welche die Finger des Endeffektors ausgerichtet sind.}
\label{fig:fafesf}}%
\end{figure}
\section{Positionsanalyse}
Der Algorithmus zur Ermittlung von Positionen robotischer Systeme bezüglich einer Aufgabenbeschreibungen erfordert diese und zusätzlich den invertierten Arbeitsraum als Parameter. Alle Resultate sind Transparent über das graphische Programm RViz einsehbar, dabei kann der Umfang der visualisierten Informationen über Checkboxen reguliert werden. Die Metrik $D_{Reach}(Voxel)(TK)$ aus \autoref{eq:29}, welche die differenzierte Voxelisierung kalkuliert, visualisiert die Wertigkeit eines Voxels. Analog zur Menge $P_{Base}$ jedes Kettenglieds und deren Differenzierung in die jeweilige Operationskette beziehungsweise Teilkette ist zusätzlich die Projektion dieser Werte auf die XY Ebene des kartesischen Koordinatensystems eine mögliche visuelle Modalität. Der maximale Index je Teilkette und Voxel ist ebenfalls einsehbar und wird mit zusätzlichen Informationen, wie dem Namen der Aufgabenbeschreibung, persistiert.
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -17,7 +17,7 @@
url=false,
doi=true,
isbn=false,
hyperref,
hyperref,
]{biblatex}
\addbibresource{bibliography.bib}
\AtEveryBibitem{%
......@@ -98,6 +98,8 @@
\newcommand{\R}{\mathbb{R}}
\newcommand{\N}{\mathbb{N}}
\usepackage{hyperref}
\usepackage{mathtools}
\usepackage{bera}% optional: just to have a nice mono-spaced font
\usepackage{listings}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment