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

...

parent 0079689c
No related branches found
No related tags found
No related merge requests found
Pipeline #11576 passed with warnings
...@@ -13,15 +13,14 @@ Diskretisierung ist ein Prozess der Zerlegung einer kontinuierliche Oberfläche ...@@ -13,15 +13,14 @@ Diskretisierung ist ein Prozess der Zerlegung einer kontinuierliche Oberfläche
Robotische Systeme setzen sich aus einer Menge an Festkörpern deren Verknüpfungen durch verschiedene Gelenktypen zusammen. Ein solches System kann geschlossen sein, indem die Verknüpfungen aus Festkörpern einen Kreis bilden, oder ein offenes System sein. Ein offenes robotisches System bildet eine offene kinematische Kette, dessen letztes Glied als Endeffektor deklariert ist, während der erste Festkörper die Basis darstellst. Roboterarme sind Beispiele für offene robotische Systeme mit offener kinematischer Kette und Bezugspunkt dieser wissenschaftlichen Arbeit. Nähere Informationen über die Kopplung spezifischer Bestandteile werden in der zugehörigen URDF Datei des Roboters dokumentiert. Diese Dateien sind XML Erweiterungen und bieten als solche einen entsprechenden erweiterten Funktionsumfang. Demzufolge können anhand zusätzlicher Informationen in Form von $tags$ Limitierungen bezüglicher der Achsen, Verweise auf andere URDF-Dateien und 3-D Model Dateien festgelegt werden. Neben der Möglichkeit, einen eigenen Roboter mittels URDF zu konstruieren, werden fertige Roboter von offizieller Seite bereitgestellt, wodurch ein Einblick in umfangreichere URDF-Dateien ermöglicht wird und der Aufwand der Erstellung entfällt. Robotische Systeme setzen sich aus einer Menge an Festkörpern deren Verknüpfungen durch verschiedene Gelenktypen zusammen. Ein solches System kann geschlossen sein, indem die Verknüpfungen aus Festkörpern einen Kreis bilden, oder ein offenes System sein. Ein offenes robotisches System bildet eine offene kinematische Kette, dessen letztes Glied als Endeffektor deklariert ist, während der erste Festkörper die Basis darstellst. Roboterarme sind Beispiele für offene robotische Systeme mit offener kinematischer Kette und Bezugspunkt dieser wissenschaftlichen Arbeit. Nähere Informationen über die Kopplung spezifischer Bestandteile werden in der zugehörigen URDF Datei des Roboters dokumentiert. Diese Dateien sind XML Erweiterungen und bieten als solche einen entsprechenden erweiterten Funktionsumfang. Demzufolge können anhand zusätzlicher Informationen in Form von $tags$ Limitierungen bezüglicher der Achsen, Verweise auf andere URDF-Dateien und 3-D Model Dateien festgelegt werden. Neben der Möglichkeit, einen eigenen Roboter mittels URDF zu konstruieren, werden fertige Roboter von offizieller Seite bereitgestellt, wodurch ein Einblick in umfangreichere URDF-Dateien ermöglicht wird und der Aufwand der Erstellung entfällt.
\section{Kinematik} \section{Kinematik}
Angewendete Methoden dieser wissenschaftlichen Arbeit fundieren auf Konzepten der Kinematik. Die Kinematik ist ein Teilbereich der Physik, welcher die Bewegung von Festkörpern in robotischen Systemen, abstrahierend von den daraus resultierenden Kräften und Momenten, umfasst. Ein wesentlicher Aspekt ist die Repräsentation der Position und Orientierung von Körpern im Raum und deren Relation, sowie der Geometrie robotischer Mechanismen. Terminologien wie Pose und Referenzkoordinatensystem (Frame) dienen zum Verständnis folgender, komplizierterer Prinzipien und werden daher näher beschrieben. \par Angewendete Methoden dieser wissenschaftlichen Arbeit fundieren auf Konzepten der Kinematik. Die Kinematik ist ein Teilbereich der Physik, welcher die Bewegung von Festkörpern in robotischen Systemen, abstrahierend von den daraus resultierenden Kräften und Momenten, umfasst. Ein wesentlicher Aspekt ist die Repräsentation der Position und Orientierung von Körpern im 3-dimensionalen Raum und deren Relation zueinander, sowie der Geometrie robotischer Mechanismen. Terminologien wie Pose und Referenzkoordinatensystem (Frame) und deren Relationen sind existenzieller Bestandteil späterer Ausführungen dieser wissenschaftlichen Arbeit und werden daher in diesem Kapitel näher erläutert. \par
\subsection{Pose, Position und Orientierung} \subsection{Pose, Position und Orientierung}
Die Kombination aus Position und Orientierung eines Festkörpers relativ zu einem Frame definiert eine bestimmte Pose, das heißt die Koordinaten ihrer Position werden relativ zum betrachteten Frame repräsentiert. Die Kombination aus Position und Orientierung eines Festkörpers relativ zu einem Frame definiert eine $Pose$, diese wird relativ zu einem Frame notiert. Frames bestehen aus einem Koordinatenursprung und dessen orthogonalen Basisvektoren $( v_{0}, v_{1}, v_{2})$. Beispielsweise beinhaltet das bekannte Referenzkoordinatensystem $Frame_{0}$ den Ursprung $(0,0,0)^{T}$ und Basisvektoren $( (0,0,1)^{T}, (0,1,0)^{T}, (1,0,0)^{T})$, auf Grundlage dessen eine Pose $^{0}Pose$ definiert und repräsentiert werden kann. Ein robotisches System definiert für jeden seiner $n \in \N$ Festkörper einen Frame.
Jeder Festkörper definiert durch 3 orthogonale Basisvektoren und einen Koordinatenursprung $ p_i \in O_i$ dessen Frame.
Posen, Verschiebungen und Rotationen fester Körpers werden mittels zugehöriger Frames definiert.
\subsubsection{Position} \subsubsection{Position}
Der Koordinatenursprung eines Frames $i$ relativ zum Frame $j$ wird durch den Vektor $^{j}p_{i} \in \R^{3}$ gekennzeichnet. Der Koordinatenursprung eines Frames $i$ relativ zum Frame $j$ wird durch den Vektor $^{j}p_{i} \in \R^{3}$ gekennzeichnet.
\begin{equation} \begin{equation}
^{j}p_{i} = \begin{pmatrix} ^{j}p_{i} = \begin{pmatrix}
^{j}p_{i}^{x} \\ ^{j}p_{i}^{x} \\
...@@ -29,16 +28,27 @@ Der Koordinatenursprung eines Frames $i$ relativ zum Frame $j$ wird durch den Ve ...@@ -29,16 +28,27 @@ Der Koordinatenursprung eines Frames $i$ relativ zum Frame $j$ wird durch den Ve
^{j}p_{i}^{z} \\ ^{j}p_{i}^{z} \\
\end{pmatrix} \end{pmatrix}
\end{equation} \end{equation}
Aus ... ist ersichtlich, dass die Elemente des Koordinatenursprungs von $i$ auf Koordinaten relativ zu $j$ referenzieren. Diese Abhängigkeit besteht analog bei den Frames eines Roboters, die jeweils auf ihren Vorgänger der kinematischen Kette verweisen.
Die Elemente des Vektors $^{j}p_{i}$ sind kartesische Koordinaten aus $O_i$ relativ zum $j$ Frame,
die auf die jeweilige Achse projiziert werden.
\subsubsection{Orientierung} \subsubsection{Orientierung}
Eine Orientierung wird durch Rotationen $R$ dargestellt, die auf einen Körper angewendet werden können. In der Robotik existieren mehrere Ansätze zur mathematischen Beschreibung von Rotationen, welche sich konzeptuell unterscheiden. Beispielsweise kann eine Rotation durch Kompositionen aus Rotations-Matrizen oder der Anwendung von komplexen Zahlen realisiert werden. Eine Orientierung wird durch Rotationen $R$ dargestellt, die auf einen Körper angewendet werden können. In der Forschungsgebiet Robotik und Computergrafik existieren verschiedene Ansätze zur mathematischen Beschreibung einer Rotation, welche sich konzeptuell unterscheiden. Beispielsweise kann eine Rotation durch Kompositionen aus Rotations-Matrizen oder der Anwendung komplexer Zahlen realisiert werden. Die spezielle RPY-Rotation, welche auf den Rotationswinkeln eines Körpers hinsichtlich seiner Achsen basiert, wird in Abb ... visualisiert.
Die Menge aller Rotations-Matrizen $R$ bilden mit der Matrixmultiplikation eine nicht kommutative Gruppe $SO(3) \subset \R^{3\times3}$. Die Komposition aus Rotationen $R$ ist demnach ebenfalls $\in SO(3)$ und die Rotation zwischen verschiedenen Frames kann mit $^{k}R_{i}$ = $^{k}R_{j} \times ^{j}R_{i}$ realisiert werden, wobei die Reihenfolge der Multiplikation nicht beliebig ist. Die Menge aller Rotations-Matrizen $R \in \R^{3 \times 3}$ bilden mit der Matrixmultiplikation eine nicht kommutative Gruppe $SO(3) \subset \R^{3\times3}$, siehe ....
\begin{align*}
&Geschlossenheit: & \forall R_{1},R_{2} \in SO(3): R_{1}R_{2} \in SO(3) \\
&Identität: & \forall R \in SO(3): 1R = R1 = R\\
&Inverse: & \forall R \in SO(3): RR^{T}= 1 \\
&Assoziativität: & \forall R_{1},R_{2},R_{3} \in SO(3): (R_{1}R_{2})R_{3} = R_{1}(R_{2}R_{3})
\end{align*}
Die Komposition von Rotationen verschiedener Frames wird in Gleichung ... veranschaulicht. Dabei ist die Einhaltung der Reihenfolge bezüglich der Multiplikation, aufgrund der mangelnden Kommutativität, erforderlich. Durch die Eigenschaft der Geschlossenheit der Gruppe SO(3), ist das Resultat dieser Multiplikation ebenfalls $\in SO(3)$.
\begin{equation}
^{k}R_{i} = ^{k}R_{j} \times ^{j}R_{i}
\end{equation}
\subsection{homogene Transformation} \subsubsection{homogene Transformation}
Eine Transformationsmatrix {T} ist eine $4\times4$ Matrix, bestehend aus Rotationsmatrix $R \in SO(3)$ und einem Translationsvektor $p \in \R ^{3}$. Sie ermöglicht die synchrone Ausführung von Translation und Rotation, wobei eine Translation die Verschiebung eines beliebigen Vektors $u \in {R}^3$ an eine andere Position beschreibt, ohne sich auf dessen Orientierung auszuwirken. Transformationsmatrizen bilden mit der Matrixmultiplikation eine nicht kommutative Gruppe $SE(3)$. Aus Frame Rotationen $^{j}R_{i}$ und Koordinatenursprüngen $^{j}p_{i}$ bestehende Transformationsmatrizen $^{j}T_{i}$ beschreiben die Transformation eines Vektors $^{i}u$ in den Vektor $^{j}u$. Eine homogene Matrix $T \in \R^{4\times4}$, bestehend aus Rotationsmatrix $R \in SO(3)$ und einem Vektor $p \in \R ^{3}$, beschreibt eine Transformations-Matrix, siehe ... .Sie ermöglicht die synchrone Ausführung von Translation und Rotation, wobei eine Translation die Verschiebung eines beliebigen Vektors beschreibt, ohne sich auf dessen Orientierung auszuwirken. ... Aus Frame Rotationen $^{j}R_{i}$ und Koordinatenursprüngen $^{j}p_{i}$ bestehende Transformationsmatrizen $^{j}T_{i}$ beschreiben die Transformation eines Vektors $^{i}u$ in den Vektor $^{j}u$.
\begin{equation} \begin{equation}
\label{trNormal} \label{trNormal}
...@@ -68,10 +78,24 @@ T = \begin{pmatrix} ...@@ -68,10 +78,24 @@ T = \begin{pmatrix}
\end{pmatrix} \end{pmatrix}
\end{equation} \end{equation}
Die dadurch entstehende Transformation $^{j}T_{i}$ stellt eine Transformation von Frame $j$ nach Frame $i$ durch Translation $^{j}p_{i}$ und Rotation $^{j}R_{i}$ da. Die dadurch entstehende Transformation $^{j}T_{i}$ stellt einen Übergang von Frame $j$ nach Frame $i$ durch Translation $^{j}p_{i}$ und Rotation $^{j}R_{i}$ da.
Die Komposition aus Transformationen $ T \in SE(3)$ ermöglicht Transformationen zwischen mehreren Frames $^{k}T_{i}$ = $^{k}T_{j} \times ^{j}T_{i}$, wobei die Reihenfolge Analog zu Rotation nicht beliebig ist. Die Komposition aus Transformationen $ T \in SE(3)$ ermöglicht Transformationen zwischen mehreren Frames $^{k}T_{i}$ = $^{k}T_{j} \times ^{j}T_{i}$, wobei die Reihenfolge Analog zu Rotation nicht beliebig ist.
Durch dieser Komposition aus Transformationen lässt sich die kinematische Kette eines aus verknüpften Festkörpern bestehenden offenen Roboter Systems wie in ... beschreiben. Durch dieser Komposition aus Transformationen lässt sich die kinematische Kette eines aus verknüpften Festkörpern bestehenden offenen Roboter Systems wie in ... beschreiben.
Transformationsmatrizen $T$ bilden mit der Matrixmultiplikation eine nicht kommutative Gruppe $SE(3)$, wie ... zeigt.
\begin{align*}
&Geschlossenheit: & \forall T_{1},T_{2} \in SE(3): T_{1}T_{2} \in SE(3) \\
&Identität: & \forall T \in SE(3): 1T = T1 = T\\
&Inverse: & \forall ^{j}T_{i} \in SE(3): (^{j}T_{i})(^{j}T_{i}^{-1}) = (^{j}T_{i})(^{i}T_{j}) = 1 \\
&Assoziativität: & \forall T_{1},T_{2},T_{3} \in SE(3): (T_{1}T_{2})T_{3} = T_{1}(T_{2}T_{3})
\end{align*}
Die Komposition von Transforamtionen verschiedener Frames wird in Gleichung ... veranschaulicht. Dabei ist die Einhaltung der Reihenfolge bezüglich der Multiplikation, aufgrund der mangelnden Kommutativität, erforderlich. Durch die Eigenschaft der Geschlossenheit der Gruppe SE(3), ist das Resultat dieser Multiplikation ebenfalls $\in SE(3)$.
\begin{equation}
^{k}T_{i} = ^{k}T_{j} \times ^{j}T_{i}
\end{equation}
\begin{equation} \begin{equation}
\label{RobotEq} \label{RobotEq}
%^{n}T_{0}= \prod \limits_{i=1}^{n} ^{i-1}a_{i} %^{n}T_{0}= \prod \limits_{i=1}^{n} ^{i-1}a_{i}
......
This diff is collapsed.
...@@ -78,6 +78,8 @@ ...@@ -78,6 +78,8 @@
\let\ellipsispunctuation\relax \let\ellipsispunctuation\relax
\input{lst.tex} \input{lst.tex}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows,calc,math,angles,quotes}
\newcommand{\R}{\mathbb{R}} \newcommand{\R}{\mathbb{R}}
\newcommand{\N}{\mathbb{N}} \newcommand{\N}{\mathbb{N}}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment