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

...

parent a6b63ccc
No related branches found
No related tags found
No related merge requests found
Pipeline #11609 passed with warnings
\chapter{Konzept}\label{ch:concept} \chapter{Konzept}\label{ch:concept}
Die effiziente Platzierung robotischer Systeme ist ein fundamentaler Bestandteil zur Schaffung kollaborative Multi-Roboter Arbeitsräume. (in einleitung) Wie im vorherigen Kapitel beschrieben, charakterisieren wissenschaftliche Arbeiten die Analyse des Arbeitsraums einzelner Roboter, sowie der Kenntnis bezüglich auszuführender Aufgaben als notwendige Voraussetzungen, um anhand dieser Informationen sukzessiv die optimale Position des Roboters zu bestimmen. Dieses Kapitel dokumentiert die konzeptuellen Entscheidungen bezüglich gewählten Verfahren dieser Bachelorarbeit, basierend auf den zuvor beschriebenen Methodiken zur Arbeitsraumanalyse, dessen Invertierung und anschließender Auswertung. Das Konzept zur Definition spezifischer Aufgaben, sowie deren intuitive Generierung und Darstellung mittels grafischer Programme ist ebenfalls eine Komponente dieses Kapitels. Die Implementierung der jeweiligen Abschnitte wird in Form der Header beigefügt und jeweils näher erläutert. Basierend auf diesen Teilprogrammen und deren persistierter Resultate im simplen JSON-Dateiformat, wird abschließend die Positionierung erforderlicher Roboterarme ermittelt. Anhand dieser Realisierung erfolgt eine Erweiterung der Erkenntnisse vorangegangener wissenschaftlicher Arbeiten um die Anwendung auf mehrere robotische Systeme. Diese Erweiterung ermöglicht die automatisiert Schöpfung kollaborative Multi-Roboter Arbeitsräume.
Wie im vorherigen Kapitel gezeigt, charakterisieren Wissenschaftliche Arbeiten die Analyse des Arbeitsraums einzelner Roboter, sowie der Kenntnis bezüglich auszuführender Aufgaben als notwendige Voraussetzungen, um anhand dieser Informationen sukzessiv die optimale Position des Roboters zu bestimmen. Dieses Kapitel dokumentiert, basierend auf den Grundlagen der Kinematik, die Arbeitsraumanalyse robotischer Systeme. Das Konzept zur Definition spezifischer Aufgaben, sowie deren intuitive Generierung und Darstellung mittels grafischer Programme ist ebenfalls eine Komponente dieses Kapitels. Die Implementierung der jeweiligen Abschnitte wird in Form der Header beigefügt und jeweils näher erläutert. Basierend auf diesen Teilprogrammen und deren persistierter Resultate im simplen JSON-Dateiformat, wird abschließend die Positionierung erforderlicher Roboterarme ermittelt. Anhand dieser Realisierung erfolgt eine Erweiterung Erkenntnisse vorangegangener Wissenschaftlicher Arbeiten um die Anwendung auf mehrere robotische Systeme. Diese Erweiterung ermöglicht die automatisiert Schöpfung kollaborative Multi-Roboter Arbeitsräume.
\newcommand\pgfmathsinandcos[3]{% \newcommand\pgfmathsinandcos[3]{%
\pgfmathsetmacro#1{sin(#3)}% \pgfmathsetmacro#1{sin(#3)}%
...@@ -74,34 +73,55 @@ Wie im vorherigen Kapitel gezeigt, charakterisieren Wissenschaftliche Arbeiten d ...@@ -74,34 +73,55 @@ Wie im vorherigen Kapitel gezeigt, charakterisieren Wissenschaftliche Arbeiten d
\section{Arbeitsraumanalyse robotischer Systeme} \section{Arbeitsraumanalyse robotischer Systeme}
Vahrenkamp et al. beschreiben in der Publikation die Analyse des Arbeitsraums eines robotischen Systems als Ausgangspunkt der Berechnung seiner optimalen Position hinsichtlich dessen Aufgabe \cite{Vahrenkamp.5620135102013}. Demzufolge stellt sie den ersten Abschnitt dieses Kapitels dar. Dazu dokumentieren Zacharias et al. in ihrer wissenschaftlichen Arbeit einen Ansatz, dessen Inhalt es ist, durch wiederholtes Anwenden kinematischer Algorithmen auf eine feste Menge generierter Endeffektor Posen in Form von Transformationen $^{0}T_{Endeff} \in SE(3)$ relativ zum Koordinatenursprung \cite{Zacharias.102920071122007}. Der grundlegende Aspekt dieses Teilprogramms ist die Population valider Transformationen $^{0}T_{Endeff}$, welche Resultat der Komposition aus $OR_{total}$ und $P_{total}$ sind. Dabei legen Zacharias et al., basierend auf geführten Beobachtungen, die Generierung der Menge $P_{total}$ durch den Prozess der kubischen Diskretisierung nahe, da zufallsbasierte Verfahren diesbezüglich das Umfeld des Roboters nicht ausreichend Repräsentieren und daher für die Analyse unzureichend sind (Quelle). Gleichermaßen ist die anschließende kinematische Berechnungen zur Validierung aller Endeffektor Posen zeitaufwändig, dies impliziert den Verzicht auf Methodiken, die durch kumulativer Betrachtung vieler Teilergebnisse ein statistisch zufriedenstellendes Resultat erzielen. Stattdessen werden kubische und sphärische Diskretisierungen vorgenommen, um die Mengen $P_{total}$ und $OR_{total}$ zu bestimmen. Zusätzlich empfiehlt sich die vollständige Auslagerung der Berechnungen auf das Hochleistungsrechenzentrum der TU-Dresden, um diese mit dem Gitlab.Ci Interface über große Zeiträume vorzunehmen.
Dazu erfolgt zunächst eine kubische Diskretisierung, die durch Angabe einer festen 'Auflösung' das Umfeld des Roboters in ein reguläres Gitter unterteilt. Der daraus entstehende diskretisierte Würfel aus Vektoren stellt die Menge aller zu analysierenden Ursprünge $^{0}p_{Endeff} \in ^{0}T_{Endeff}$ des Endeffektors dar. Als Metrik $D_{Reach}(p)$ zur Klassifizierung der Erreichbarkeit eines Vektors $^{0}p_{Endeff}$ dient die Gegenüberstellung der Menge $OR_{suc}(p)$ aller Orientierungen $^{0}R_{Endeff} \in ^{0}T_{Endeff}$, die der Endeffektor während der Berechnungen erfolgreich einnehmen kann, gegenüber der Menge $OR_{total}$ aller möglichen Orientierungen, die für jeden Vektor generiert und operiert werden. Anschließend werden die resultierenden $^{0}T_{Endeff}$ mit der Information über dessen Erreichbarkeit persistiert und bilden die 'reachability map'.\par
Die Komplexität dieses Verfahrens kann demzufolge zeitlich und räumlich Eingeordnet werden. Die Anzahl der auszuführenden Operationen ist das Produkt aller Vektoren und dem Menge aller Orientierungen, die für den Endeffektor pro Vektor geprüft werden müssen. Während der sphärischen Diskretisierung, dem Prozess zur Generierung aller Orientierung $OR_{total}$, werden Vereinfachungen festgelegt, dessen Einfluss die Komplexität dezimiert. \par
Aufgrund des hohen Zeitbedarfs, empfiehlt sich die vollständige Auslagerung auf das Hochleistungsrechenzentrum der TU-Dresden, um die Berechnungen mit dem Gitlab.Ci Interface über große Zeiträume vorzunehmen.
\begin{equation}
D_{Reach}(p) = \frac{\vert OR_{suc}(p) \vert}{\vert OR_{total} \vert}
\end{equation}
\begin{equation} \subsection{Komplexität}
\mathcal{O}(n^{3} \times \vert OR_{total} \vert) Bei derart zeitaufwändigen Verfahren, ist die Betrachtung der Komplexität essenziell, um die Anzahl aller auszuführenden Operationen und somit dessen maximalen Zeitaufwand zu prognostizieren. Eine Einordnung der zeitlichen Komplexität ist durch die Betrachtung der Kardinalitäten der jeweiligen Mengen praktikabel.
\end{equation}
\subsection{Sphärische Diskretisierung} \begin{align*}
Die sphärische Diskretisierung beschreibt die Approximation einer Sphäre durch Vektoren $^{0}s \in \R^{3}$ um ein Zentrum $^{0}p \in \R^{3}$ mit festem Abstand $r \in \R$. Ziel dieses Prozesses ist die Generierung aller Orientierungen für $p$ durch die sphärischen Polarkoordinaten, die $s$ auf der erzeugten Sphäre definieren. Demnach beschreiben Azimut $\theta \in [ \, 0,2 \pi \,)$ und Colatitude $\phi \in [ \, 0,\pi \,]$ den Winkel auf der XY Ebene des kartesischen Koordinatensystems, bzw. den Winkel zwischen Z Achse und $\overline{sp}$ \cite{SphericalCoordinates}. Bezogen auf die Orientierung eines Körpers, können diese Winkel als Yaw und Pitch interpretiert werden. Ein weiterer Winkel, der den Roll des Endeffektors beschreibt, vervollständigt das Set aller Orientierungen $OR_{total}$. Um die Komplexität zu beschränken, wird basierend auf der Bauart eines Roboterarms die Annahme getroffen, dass der Endeffektor zu jeder Zeit eine vollständige Drehung vollziehen kann. Dies dezimiert die Kardinalität $\vert OR_{total} \vert$ und spart eine Dimension an Berechnungen während der Analyse. & \mathcal{O}(\vert P_{total} \vert \times \vert OR_{total} \vert) & ()\\
Eine weitere Vereinfachung stellt die Annahme dar, dass Objekte nicht von unten gegriffen werden können. Dies stellt eine Halbierung bezüglich des Orientierungssets dar.\par & \mathcal{O}((\frac{2 \times q}{a} + 1)^{3} \times \vert OR_{total} \vert) & ()\\
Das Abtasten dieser Winkelintervalle basierend auf einer festen Auflösung generiert ein ungleichmäßiges sphärisches Gitter, wodurch die Vektoren s nicht äquidistant verteilt sind. Zusätzlich ist die Distanz der Vektoren an den Polen marginal. Diese Beobachtungen implizieren, dass das resultierende Orientierungsset durch sein hohes Maß an ähnlichen und uneinheitlichen Orientierungen, für die Bewertung der Erreichbarkeit nicht geeignet ist. & \mathcal{O}((\frac{2 \times q}{a} + 1)^{3} \times \vert S \vert \times \vert Roll \vert) & ()
Daraus ist abzuleiten, dass die Verteilung der Vektoren s für eine qualitative Repräsentation der Erreichbarkeit des Vektors $^{0}p_{Endeff}$ durch den Endeffektor, sowie der zeitlichen Aufwand aller kinematischen Berechnungen, maßgeblich ist. \end{align*}
\begin{equation}
S = \{s\in \R^{3} : \vert \overline{sp} \vert = r\} Aus dieser Illustration ist abzuleiten, dass die Wahl der Faktoren $q, a \in \R_{+}$, sowie die Menge sphärischer Vektoren $S$ und der zusätzlich betrachteten Roll Winkel, welche Grundlegende Parameter der kubischen Diskretisierung beziehungsweise sphärischen Diskretisierung darstellen, die Komplexität kubisch oder linear beeinflussen. Basierend auf den folgenden Überlegungen und daraus resultierenden Vereinfachungen, kann die Auswirkung der sphärische Komponente auf die Komplexität dezimiert werden.
\end{equation}
\subsubsection{Vereinfachung des Roll Segments}
Um die Komplexität zu beschränken, wird beruhend auf der Bauart eines Roboterarms die Annahme getroffen, dass der Endeffektor zu jeder Zeit eine vollständige Drehung um seine longitudinal Achse vollziehen kann. Dies dezimiert die Kardinalität $\vert OR_{total} \vert$ um das Roll Segment und stellt ein Ersparnis hinsichtlich einer Dimension an Berechnungen während der Analyse dar. Daraus resultiert die Menge $OR_{total}^{/R}$, dessen Kardinalität die folgende Gleichung zeigt.
\begin{align*}
& \vert ^{0}OR_{total} \vert = \vert S \vert \times \vert Roll \vert \\
& \vert ^{0}OR_{total}^{/R} \vert = \vert S \vert
\end{align*}
\subsubsection{Vereinfachung der sphärischen Vektoren S}
Eine weitere Vereinfachung stellt die Annahme dar, dass Objekte nicht von unten gegriffen werden können beziehungsweise dieses spezifische vorgehen nicht teil der zu bewältigenden Aufgabe ist. Dies stellt eine Halbierung bezüglich der sphärischen Vektoren S dar, indem für eine Sphäre alle Vektoren $^{0}s \in S$, deren Element $^{0}z \in ^{0}s : ^{0}z \in \R$ kleiner als das dazugehörige $^{0}z \in ^{0}p : ^{0}z \in \R$ Element des Zentrums $^{0}p$ bezüglich der assoziierten Sphäre ist.
\begin{align*}
& S_{/2} = \{s\in \R^{3} : \vert \overline{sp} \vert = r \land s.z > p.z \} \\
& \vert S_{/2} \vert = \frac{\vert S \vert}{2}
\end{align*}
\subsubsection{Vereinfachte Komplexität}
Aus den Vereinfachungen bezüglich verschiedener Aspekte der Menge $OR_{total}$ und dessen zugrundeliegender sphärischer Diskretisierung, resultiert folgende zeitliche Komplexität.
\begin{align*}
& \mathcal{O}(\vert P_{total} \vert \times \vert OR_{total} \vert) & ()\\
& \mathcal{O}((\frac{2 \times q}{a} + 1)^{3} \times \vert OR_{total} \vert) & () \\
& \mathcal{O}((\frac{2 \times q}{a} + 1)^{3} \times \vert ^{0}OR_{total}^{/R} \vert) & () () \\
& \mathcal{O}((\frac{2 \times q}{a} + 1)^{3} \times \vert S \vert) & () () \\
& \mathcal{O}((\frac{2 \times q}{a} + 1)^{3} \times \frac{\vert S \vert}{2}) & ()
\end{align*}
\subsection{Verfahren der sphärischen Diskretisierung}
Aus vorangegangenen Kapiteln ist bekannt, dass die sphärische Diskretisierung durch Abtastung der Winkelintervalle oder der Verteilung von $n \in \N $ sphärischen Vektoren $^{0}s$ auf einer Sphäre, erfolgt. Das Abtasten der Winkelintervalle basierend auf einer festen Auflösung generiert ein ungleichmäßiges sphärisches Gitter, wodurch die Vektoren $^{0}s$ nicht äquidistant verteilt sind. Zusätzlich ist die Distanz der Vektoren an den Polen marginal. Diese Beobachtungen implizieren, dass die resultierende Menge $OR_{total}$ durch dessen hohes Maß an ähnlichen und uneinheitlichen Orientierungen, für die Bewertung der Erreichbarkeit nicht geeignet ist.
Daraus ist abzuleiten, dass die Verteilung der Vektoren $^{0}s$ für eine qualitative Repräsentation der Erreichbarkeit des Vektors $^{0}p_{Endeff}$ durch den Endeffektor, sowie der zeitlichen Aufwand aller kinematischen Berechnungen, maßgeblich ist.
\subsubsection{Zufalls-basierte Verteilung}
Sphärische Diskretisierungen, deren Verteilung keinem Schema folgen oder an räumliche Parameter gebunden sind, verteilen die Vektoren einer Sphäre nach Pseudozufallsverfahren. Die Anzahl der zu verteilenden Vektoren ist durch eine Zahl $n \in \N$ gekennzeichnet und stellt die Initialisierung des Verfahrens da.
\subsubsection{Gleichmäßige Verteilung} \subsubsection{Gleichmäßige Verteilung}
Die äquidistante Verteilung einer festen Zahl $n \in \N$ Punkten auf einer Sphäre ist ein mathematisches Problem, dessen Lösung eine umfassende Bedeutung für Forschungsfelder der Biologie, Chemie und Physik aufweist. Beispielsweise basiert das Tammes's problem oder hard-spheres problem auf dieser Problemstellung, welche die Modellierung fluider Partikel untersucht \cite{Saff.1997}. Die Distanz der Punkte auf der Sphäre unterliegt dabei minimalen Abweichungen und erfüllt in Spezialfällen die Anforderung einer äquidistanten Verteilung. Methoden wie die Fibonacci- oder Spiral- Verteilungen bieten minimale Abweichungen, empfehlen sich daher für die Orientierungsgenerierung und bilden eine angemessene Repräsentation der Erreichbarkeit des Vektors $^{0}p_{Endeff}$. Sie gehören zu den von Mikhal et al. angewendeten Methoden zur Arbeitsraumanalyse eines robotischen Systems \cite{Makhal.2018}. Deserno stellt in seiner Arbeit zur verteilungsbasierten sphärischen Diskretisierung eine Methode der gleichmäßigen Verteilung, welche bisher nicht zum Zweck der Roboterplatzierung genutzt wurde, vor. Seine Abweichung beläuft sich auf ... und wird daher in dieser wissenschaftlichen Arbeit verwendet \cite{Deserno.2004}. Methoden wie die Fibonacci- oder Spiral- Verteilungen bieten minimale Abweichungen, empfehlen sich daher für die Orientierungsgenerierung und bilden eine angemessene Repräsentation der Erreichbarkeit des Vektors $^{0}p_{Endeff}$. Sie gehören zu den von Mikhal et al. angewendeten Methoden zur Arbeitsraumanalyse eines robotischen Systems \cite{Makhal.2018}. Deserno stellt in seiner Arbeit zur verteilungsbasierten sphärischen Diskretisierung eine Methode der gleichmäßigen Verteilung, welche bisher nicht zum Zweck der Roboterplatzierung genutzt wurde, vor. Seine Abweichung beläuft sich auf ... und wird daher in dieser wissenschaftlichen Arbeit verwendet \cite{Deserno.2004}.
\section{Invertierte Arbeitsräume} \section{Invertierte Arbeitsräume}
Ziel dieses Abschnitts ist die Illustrierung des grundlegenden Ansatzes, dessen sich hinsichtlich der Eruierung der optimalen Position robotischer Systeme bedient wird. Dies beinhaltet die Anwendung der in den Grundlagen aufgeführten kinematischen Sachverhalte, sowie der Voraussetzung einer vorhandenen Transformation $t$ des zu betrachtenden Objektes .... Ziel dieses Abschnitts ist die Illustrierung des grundlegenden Ansatzes, dessen sich hinsichtlich der Eruierung der optimalen Position robotischer Systeme bedient wird. Dies beinhaltet die Anwendung der in den Grundlagen aufgeführten kinematischen Sachverhalte, sowie der Voraussetzung einer vorhandenen Transformation $t$ des zu betrachtenden Objektes ....
...@@ -110,8 +130,7 @@ Ziel dieses Abschnitts ist die Illustrierung des grundlegenden Ansatzes, dessen ...@@ -110,8 +130,7 @@ Ziel dieses Abschnitts ist die Illustrierung des grundlegenden Ansatzes, dessen
t = ^{0}T_{Endeff} t = ^{0}T_{Endeff}
\end{equation} \end{equation}
Eine persistierte 'reachability map' beinhaltet eine Liste aller Vektoren $p \in \R^{3}$ des kubisch diskretisierten Roboterumfeldes mit dessen zugehörigen Orientierungen $R \in SO(3)$, Eine persistierte 'reachability map' beinhaltet eine Liste aller Vektoren $p \in \R^{3}$ des kubisch diskretisierten Roboterumfeldes mit dessen zugehörigen Orientierungen $R \in SO(3)$, für die kinematische Berechnungen erfolgreich terminieren, beziehungsweise die Transformation bestehend aus $(p,R) \in ^{0}T_{endeff}$ eine valide Endeffektor Pose ist. Für jede dieser validen Transformationen gilt nach ..., dass eine kinematische Kette der Form ... existiert.
für die kinematische Berechnungen erfolgreich terminieren, beziehungsweise die Transformation bestehend aus $(p,R) \in ^{0}T_{endeff}$ eine valide Endeffektor Pose ist. Für jede dieser validen Transformationen gilt nach ..., dass eine kinematische Kette der Form ... existiert.
\begin{equation} \begin{equation}
^{0}T_{Endeff} = ^{0}T_{1} \times ^{1}T_{2} \times ... ^{n-1}T_{n} (n.. Anzahl der Festkörper des robotischen Systems) ^{0}T_{Endeff} = ^{0}T_{1} \times ^{1}T_{2} \times ... ^{n-1}T_{n} (n.. Anzahl der Festkörper des robotischen Systems)
......
\chapter{Der letzte Stand der Technik \/ state of the art} \label{ch:sota}
Die effiziente Platzierung robotischer Systeme ist ein fundamentaler Bestandteil zur Schaffung kollaborative Multi-Roboter Arbeitsräume. Zu diesem Zweck ist die Auseinandersetzung mit bestehenden wissenschaftlichen Arbeiten erforderlich, um einen umfassenden Kenntnisstand bezüglich deren angewandter Methodik zu erlangen und anschließend zur konzeptuellen Ausarbeitung und Implementierung zu nutzen.
\section{Programmablauf}
Basierend auf der umfassenden Recherche zahlreicher wissenschaftlicher Publikationen, ist die Ermittlung einer optimalen Roboterposition ein sukzessiver Prozess, dessen Unterteilung anhand von Etappen, welche in der Abbildung dargestellt sind.
\begin{figure}[h!]
\centering
\begin{tikzpicture} [start chain,node distance=1.6cm, auto, >=stealth']
\node[rounded corners, draw=black, thick, minimum height=3em, align=center, on chain] (RM) {Arbeitsraumanalyse};
\node[rounded corners, draw=black, thick, minimum height=3em, align=center, on chain, join=by {->}, right = of RM] (IRM) {invertierter\\Arbeitsraum};
\node[rounded corners, draw=black, thick, minimum height=3em, align=center, on chain, join=by {->}, right = of IRM] (Base) {Analyse der\\Positionen};
\end{tikzpicture}
\caption{Aufteilung des Programmablaufs in 3 Teilprogramme, die gesondert voneinander betrachtet werden.}
\end{figure}
\begin{figure}[h!]
\centering
\begin{tikzpicture} [>=stealth']
\node[circle, fill, inner sep=1] at (0,0,0) (origin) {};
\node[] at (-2, 0, 0) (nx) {};
\node[] at (2, 0, 0) (px) {};
\node[] at (0, -2, 0) (ny) {};
\node[] at (0, 2, 0) (py) {};
\node[] at (0, 0, -3) (nz) {};
\node[] at (0, 0, 3) (pz) {};
\draw[-] (nx) -- (origin);
\draw[-] (ny) -- (origin);
\draw[-] (nz) -- (origin);
\draw[->] (origin) -- (px);
\draw[->] (origin) -- (py);
\draw[->] (origin) -- (pz);
\end{tikzpicture}
\caption{Aufteilung des Programmablaufs in 3 Teilprogramme, die gesondert voneinander betrachtet werden.}
\end{figure}
\section{Arbeitsraumanalyse}
Vahrenkamp et al. beschreiben in ihrer Publikation die Analyse des Arbeitsraums eines robotischen Systems als Ausgangspunkt zur Berechnung dessen optimaler Positionierung hinsichtlich einer zuvor definierten Aufgabe \cite{Vahrenkamp.5620135102013}. Dazu dokumentieren Zacharias et al. in ihrer wissenschaftlichen Arbeit Ansätze, dessen Inhalt es ist, durch wiederholtes Anwenden kinematischer Algorithmen auf eine feste Menge generierter Endeffektor-Posen in Form von Transformationen $^{0}T_{Endeff} \in SE(3)$ relativ zum $Frame_{0}$, das unmittelbare Umfeld des Roboters zu erfassen und anschließend Anhand einer Metrik zu charakterisieren. Anschließend werden die resultierenden $^{0}T_{Endeff}$ zuzüglich der Metrik als Information über dessen Erreichbarkeit persistiert und bilden die 'reachability map'.
\subsection{Arbeitsraumerfassung}
Das Paar aus einem Vektor $^{0}v \in \R^{3}$ und einer Rotation $^{0}R \in SO(3)$ bildet die Transformation $(^{0}v_{Endeff}, ^{0}R_{Endeff}) \in ^{0}T_{Endeff}$ des Endeffektors. Dies teilt diese Betrachtung in die Zusammenstellung einer Menge $^{0}P_{total}$ aus $^{0}v$ und der Generierung dessen zugehöriger Rotationen $^{0}R$, welche die Menge aller Orientierungen $OR_{total}$ definiert. Das Kreuzprodukt dieser Mengen beschreibt alle Transformationen $^{0}T_{Endeff}$ als Grundlage anschließender kinematischer Berechnungen.
\subsubsection{Menge aller Positionen}
Dieser Abschnitt erläutert Methodiken zur Population der Menge $^{0}P_{total}$ aller Positionen. Die Wahl der Vektoren $^{0}v \in ^{0}P_{total}$ erfordert das bestimmen eines Intervalls $[-q,q] : q \in \R$, welches den tatsächlichen Arbeitsraum des robotischen Systems überschätzt. Anschließend erfolgt ein Verfahren zur Generierung der Elemente $^{0}x, ^{0}y, ^{0}z \in [-q,q]$, die den Vektor $^{0}v$ definieren.
\subsubsection{Positionen durch Zufallsverfahren}
Dieses Verfahren bestimmt die Verteilung der Vektoren $^{0}v$, welche keiner räumlichen oder anderweitigen Abhängigkeit, mit Ausnahme des festen Intervalls $[-q,q]$, unterliegen.
\subsubsection{Positionen durch kubische Diskretisierung}
Die kubische Diskretisierung des Arbeitsraums robotischer Systeme stellt ein Verfahren zur Bestimmung der Vektoren $^{0}v$ dar, welche durch Angabe einer festen 'Auflösung' $ a \in \R$ das Umfeld des Roboters in ein reguläres Gitter der Grenzen $[-q,q]$ unterteilt. Der daraus resultierende diskretisierte Würfel stellt eine gleichmäßige Verteilung der Vektoren $^{0}v$ dar. Die Ermittlung der Kardinalität $\vert ^{0}P_{total} \vert$ ist implizit durch das Intervall $[-q,q]$ und der Auflösung $a$ gegeben.
\begin{equation}
\vert ^{0}P_{total} \vert = (\frac{2 \times q}{a} + 1)^{3}
\end{equation}
\subsubsection{Menge aller Orientierungen}
Die Menge $^{0}OR_{total}$ beschreibt alle möglichen Orientierungen, die für jeden Vektor generiert und operiert werden. Ein grundlegendes Verfahren hierzu ist die sphärische Diskretisierung, welche die Approximation einer Sphäre durch Vektoren $^{0}s \in \R^{3}$ um ein Zentrum $^{0}p \in \R^{3}$ mit festem Abstand $r \in \R$, beschreibt. Ziel dieses Prozesses ist die Entwicklung aller Orientierungen für $^{0}p$ aus den sphärischen Polarkoordinaten, die $^{0}s \in S$ auf der erzeugten Sphäre definieren. Hierzu beschreiben Azimut $\theta \in [ \, 0,2 \pi \,)$ und Colatitude $\phi \in [ \, 0,\pi \,]$ den Winkel auf der XY Ebene des kartesischen Koordinatensystems bzw. den Winkel zwischen Z Achse und $\overline{sp}$ \cite{SphericalCoordinates}. Bezogen auf die Orientierung eines Körpers, können diese Winkel als Yaw und Pitch interpretiert werden. Ein weiterer Winkel, der den Roll des Endeffektors beschreibt, vervollständigt $OR_{total}$.
Die Kardinalität $\vert ^{0}OR_{total} \vert$ ist durch die Menge aller sphärischen Vektoren $^{0}s \in S$ und der Winkel $Roll$ bestimmt.
\begin{equation}
S = \{s\in \R^{3} : \vert \overline{sp} \vert = r\}
\end{equation}
\begin{equation}
\vert ^{0}OR_{total} \vert = \vert S \vert \times \vert Roll \vert
\end{equation}
\subsubsection{Orientierungen durch Zufallsverfahren}
Sphärische Diskretisierungen, deren Verteilung keinem Schema folgen oder an räumliche Parameter gebunden sind, verteilen die Vektoren einer Sphäre nach Pseudozufallsverfahren. Die Anzahl der zu verteilenden Vektoren ist durch eine Zahl $n \in \N$ gekennzeichnet und stellt die Initialisierung des Verfahrens da. Die Kardinalität $\vert S \vert$ lässt sich daher eindeutig bestimmen.
\begin{equation}
\vert S \vert = n
\end{equation}
\subsubsection{ungleichmäßige sphärische Diskretisierung}
Das Abtasten der Winkelintervalle von $\theta$ und $\phi$ basierend auf festen 'Auflösungen' $^{0}p, ^{0}q \in \R$ generiert ein sphärisches Gitter, indem die sphärischen Vektoren $^{0}s$ nicht äquidistant und demzufolge ungleichmäßig Verteilt sind. Die Kardinalität $\vert S \vert$ ist anhand der gewählten Auflösungen $^{0}p, ^{0}q$ und der Winkelintervalle berechenbar.
\begin{equation}
\vert S \vert = \frac{2 \times \pi}{p} \times \frac{\pi}{q}
\end{equation}
\subsubsection{gleichmäßige sphärische Diskretisierung}
Die äquidistante Verteilung einer festen Zahl $n \in \N$ Punkten auf einer Sphäre ist ein mathematisches Problem, dessen Lösung eine umfassende Bedeutung für Forschungsfelder der Biologie, Chemie und Physik aufweist. Beispielsweise basiert das Tammes's problem oder hard-spheres problem auf dieser Problemstellung, angewendet auf der Modellierung fluider Partikel \cite{Saff.1997}. Die Distanz der Punkte auf der Sphäre unterliegt dabei minimalen Abweichungen und erfüllt in Spezialfällen die Anforderung einer äquidistanten Verteilung. Die Kardinalität $\vert S \vert$ ist analog zu ... durch $n$ gegeben.
\subsection{Arbeitsraumcharakterisierung}
Als Metrik $D_{Reach}(p)$ zur Klassifizierung der Erreichbarkeit eines Vektors $^{0}p_{Endeff}$ dient die Gegenüberstellung der Menge $OR_{suc}(p)$ aller Orientierungen $^{0}R_{Endeff} \in ^{0}T_{Endeff}$, die der Endeffektor während der Berechnungen erfolgreich einnehmen kann, gegenüber der Menge $OR_{total}$ aller generierten und operierten Orientierungen für $^{0}p_{Endeff}$.
\begin{equation}
D_{Reach}(p) = \frac{\vert OR_{suc}(p) \vert}{\vert OR_{total} \vert}
\end{equation}
\section{Invertierter Arbeitsraum}
Dieses Teilprogramm beschreibt den Prozess der Invertierung aller persistierten Transformationen $^{0}T_{Endeff}$ und Portierung der zugehörigen Metrik $D_{Reach}(^{0}v_{Endeff})$. Die resultierenden Transformationen $^{Endeff}T_{0}$ mit den zugehörigen Metriken werden als Tupel persistiert.
\begin{align*}
(^{0}T_{Endeff})^{-1} = ^{Endeff}T_{0} ()
\end{align*}
\section{Analyse der Positionen}
Inhalt dieses Abschnittes ist die Analyse aller potentiellen Basis Positionen $^{0}p_{Base} \in ^{0}T_{Base}$ eines robotischen Systems, welche sich aus der Multiplikation mit dem invertierten Arbeitsraum und einer Pose der spezifischen Aufgabe ergeben. Die Metrik wird dabei auf die $^{0}p_{Base}$ portiert und beschreibt die Zuverlässigkeit dieser Position. Komplexe Aufgaben mit einer Anzahl $n \in \N : n > 2$ Vektoren $^{0}a$, welche der Roboter erreichen muss, skalieren die Menge aller Basis Vektoren $P_{Base}$. Dabei ist die Verteilung der Vektoren $^{0}p_{Base}$ unregelmäßig, beispielsweise gruppieren sie Aufeinander oder vernachlässigbar voneinander distanziert. Eine Methode, innerhalb dieser enormen Datenmenge eine optimale Position zu errechnen, ist die Voxelisierung. Dieses Verfahren, ähnlich der kubischen Diskretisierung, erzeugt einen Hyperwürfel innerhalb eines festen Intervalls $[-q, q] \in \R$, welcher aus disjunkten Boxen besteht, dessen Zentren jeweils um eine Auflösung $u \in \R_{+}$ distanziert sind. Jede Box enthält eine Menge $^{0}p_{Base}$, die distinkt voneinander betrachtet werden kann.
\subsection{Box-Index}
Die Bestimmung der Box, dessen Vektoren $^{0}p_{Base}$ sich bevorzugt für die Platzierung des robotischen Systems eigenen, erfolgt in Reulaux durch einen Box-Index, der sich aus dem arithmetischen Mittel der Metriken $D_{Reach}^{average}(Box)$ aller enthaltenen Vektoren und der Anzahl dieser bestimmt. Zuvor erfolgt eine Iteration über jede Box, dessen Ziel es ist, die maximale Box zu finden. Die Gegenüberstellung der Kardinalitäten und Metriken bestimmt den Box-Index, der die Wertigkeit einer potentiellen Roboterposition nach der Erreichbarkeit bezüglich der Aufgabe und dem Inhalt der jeweiligen Box gewichtet. Demnach erreicht ein robotisches System möglichst viele Ziele, je größer die Box seiner Basis-Position ist.
\begin{equation}
I(Box) = D_{Reach}^{average}(Box) \times \frac{\vert Box \vert}{max}
\end{equation}
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
\input{lst.tex} \input{lst.tex}
\usepackage{tikz} \usepackage{tikz}
\usetikzlibrary{positioning,arrows,calc,math,angles,quotes} \usetikzlibrary{positioning,arrows,calc,math,angles,quotes,chains,shapes}
\newcommand{\R}{\mathbb{R}} \newcommand{\R}{\mathbb{R}}
\newcommand{\N}{\mathbb{N}} \newcommand{\N}{\mathbb{N}}
...@@ -131,6 +131,7 @@ ...@@ -131,6 +131,7 @@
\input{sections/einleitung} \input{sections/einleitung}
\input{sections/grundlagen.tex} \input{sections/grundlagen.tex}
\input{sections/sota.tex}
\input{sections/konzept.tex} \input{sections/konzept.tex}
\input{sections/problem.tex} \input{sections/problem.tex}
\input{sections/eval.tex} \input{sections/eval.tex}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment