Commit f4739052 authored by s_mara's avatar s_mara
Browse files

update

parent 517d1d2c
\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand\zref@newlabel[2]{}
\providecommand*\new@tpo@label[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\@input{robotik.aux}
\global\@namedef{scr@dte@chapter@lastmaxnumwidth}{10.84047pt}
\global\@namedef{scr@dte@section@lastmaxnumwidth}{18.37163pt}
\global\@namedef{scr@dte@subsection@lastmaxnumwidth}{26.8883pt}
This diff is collapsed.
\BOOKMARK [0][-]{chapter.1}{Robotik}{}% 1
\BOOKMARK [1][-]{section.1.1}{Mathematische Grundlagen}{chapter.1}% 2
\BOOKMARK [2][-]{subsection.1.1.1}{Koordinatensysteme}{section.1.1}% 3
\BOOKMARK [2][-]{subsection.1.1.2}{Rotationen Mittels SO\(3\)}{section.1.1}% 4
\BOOKMARK [2][-]{subsection.1.1.3}{Eulerwinkel}{section.1.1}% 5
\BOOKMARK [2][-]{subsection.1.1.4}{RPY}{section.1.1}% 6
\BOOKMARK [2][-]{subsection.1.1.5}{Affine Transformationen}{section.1.1}% 7
\BOOKMARK [2][-]{subsection.1.1.6}{Lagebeschreibung}{section.1.1}% 8
\BOOKMARK [2][-]{subsection.1.1.7}{Quaternionen}{section.1.1}% 9
\BOOKMARK [2][-]{subsection.1.1.8}{SLERP Interpolation von Quaternionen}{section.1.1}% 10
\BOOKMARK [2][-]{subsection.1.1.9}{Duale Quaternionen}{section.1.1}% 11
\BOOKMARK [1][-]{section.1.2}{Kinematik}{chapter.1}% 12
\BOOKMARK [2][-]{subsection.1.2.1}{DH Konvention}{section.1.2}% 13
\BOOKMARK [2][-]{subsection.1.2.2}{Jacobi Matrizen}{section.1.2}% 14
\BOOKMARK [2][-]{subsection.1.2.3}{Inverse Kinematik}{section.1.2}% 15
\BOOKMARK [1][-]{section.1.3}{Dynamik}{chapter.1}% 16
\BOOKMARK [1][-]{section.1.4}{Regelung}{chapter.1}% 17
\BOOKMARK [1][-]{section.1.5}{Bahnsteuerung}{chapter.1}% 18
\BOOKMARK [2][-]{subsection.1.5.1}{Bahnsteuerung M\366glichkeiten}{section.1.5}% 19
\BOOKMARK [1][-]{section.1.6}{Bewegungsplanung}{chapter.1}% 20
No preview for this file type
File added
......@@ -13,6 +13,7 @@
\usepackage{wrapfig}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{multicol}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
......
\contentsline {chapter}{\numberline {1}Robotik}{3}{chapter.1}
\contentsline {section}{\numberline {1.1}Mathematische Grundlagen}{3}{section.1.1}
\contentsline {subsection}{\numberline {1.1.1}Koordinatensysteme}{3}{subsection.1.1.1}
\contentsline {subsection}{\numberline {1.1.2}Rotationen Mittels $SO(3)$}{3}{subsection.1.1.2}
\contentsline {subsubsection}{\nonumberline Verkettung von Rotationen}{3}{section*.2}
\contentsline {subsection}{\numberline {1.1.3}Eulerwinkel}{4}{subsection.1.1.3}
\contentsline {subsection}{\numberline {1.1.4}RPY}{4}{subsection.1.1.4}
\contentsline {subsection}{\numberline {1.1.5}Affine Transformationen}{4}{subsection.1.1.5}
\contentsline {subsection}{\numberline {1.1.6}Lagebeschreibung}{4}{subsection.1.1.6}
\contentsline {subsection}{\numberline {1.1.7}Quaternionen}{5}{subsection.1.1.7}
\contentsline {subsubsection}{\nonumberline Quaternionen Grundlagen}{5}{section*.3}
\contentsline {subsubsection}{\nonumberline Rotationen mittels Quaternionen}{5}{section*.4}
\contentsline {subsection}{\numberline {1.1.8}SLERP Interpolation von Quaternionen}{6}{subsection.1.1.8}
\contentsline {subsection}{\numberline {1.1.9}Duale Quaternionen}{6}{subsection.1.1.9}
\contentsline {section}{\numberline {1.2}Kinematik}{7}{section.1.2}
\contentsline {subsubsection}{\nonumberline Vorw\IeC {\"a}rtskinematik}{7}{section*.5}
\contentsline {subsubsection}{\nonumberline Inverse Kinematik}{7}{section*.6}
\contentsline {subsection}{\numberline {1.2.1}DH Konvention}{7}{subsection.1.2.1}
\contentsline {subsubsection}{\nonumberline DH Parameter Aufabau}{7}{section*.7}
\contentsline {subsubsection}{\nonumberline DH Transformationsmatrizen}{9}{section*.8}
\contentsline {subsection}{\numberline {1.2.2}Jacobi Matrizen}{9}{subsection.1.2.2}
\contentsline {subsubsection}{\nonumberline Endeffektor Geschwindigkeiten}{10}{section*.9}
\contentsline {subsubsection}{\nonumberline Singularit\IeC {\"a}t}{10}{section*.10}
\contentsline {subsection}{\numberline {1.2.3}Inverse Kinematik}{10}{subsection.1.2.3}
\contentsline {section}{\numberline {1.3}Dynamik}{11}{section.1.3}
\contentsline {section}{\numberline {1.4}Regelung}{11}{section.1.4}
\contentsline {subsubsection}{\nonumberline Aufbau einer Regelung}{11}{section*.11}
\contentsline {subsubsection}{\nonumberline Laplace Transformation}{12}{section*.12}
\contentsline {section}{\numberline {1.5}Bahnsteuerung}{12}{section.1.5}
\contentsline {subsection}{\numberline {1.5.1}Bahnsteuerung M\IeC {\"o}glichkeiten}{12}{subsection.1.5.1}
\contentsline {subsubsection}{\nonumberline Programmierung der Schl\IeC {\"u}sselpunkte}{12}{section*.13}
\contentsline {subsubsection}{\nonumberline Interpolation}{13}{section*.14}
\contentsline {section}{\numberline {1.6}Bewegungsplanung}{13}{section.1.6}
\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand\zref@newlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Robotik}{3}{chapter.1}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{lol}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}Mathematische Grundlagen}{3}{section.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.1}Koordinatensysteme}{3}{subsection.1.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.2}Rotationen Mittels $SO(3)$}{3}{subsection.1.1.2}}
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline Verkettung von Rotationen}{3}{section*.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.3}Eulerwinkel}{4}{subsection.1.1.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.4}RPY}{4}{subsection.1.1.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.5}Affine Transformationen}{4}{subsection.1.1.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.6}Lagebeschreibung}{4}{subsection.1.1.6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.7}Quaternionen}{5}{subsection.1.1.7}}
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline Quaternionen Grundlagen}{5}{section*.3}}
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline Rotationen mittels Quaternionen}{5}{section*.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.8}SLERP Interpolation von Quaternionen}{6}{subsection.1.1.8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.9}Duale Quaternionen}{6}{subsection.1.1.9}}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Kinematik}{7}{section.1.2}}
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline Vorw\IeC {\"a}rtskinematik}{7}{section*.5}}
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline Inverse Kinematik}{7}{section*.6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.1}DH Konvention}{7}{subsection.1.2.1}}
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline DH Parameter Aufabau}{7}{section*.7}}
\@writefile{lof}{\contentsline {figure}{\numberline {1.1}{\ignorespaces DH-Konvention bei 2 Gelenke}}{8}{figure.1.1}}
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline DH Transformationsmatrizen}{9}{section*.8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.2}Jacobi Matrizen}{9}{subsection.1.2.2}}
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline Endeffektor Geschwindigkeiten}{10}{section*.9}}
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline Singularit\IeC {\"a}t}{10}{section*.10}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.3}Inverse Kinematik}{10}{subsection.1.2.3}}
\@writefile{toc}{\contentsline {section}{\numberline {1.3}Dynamik}{11}{section.1.3}}
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Regelung}{11}{section.1.4}}
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline Aufbau einer Regelung}{11}{section*.11}}
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline Laplace Transformation}{12}{section*.12}}
\@writefile{toc}{\contentsline {section}{\numberline {1.5}Bahnsteuerung}{12}{section.1.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.5.1}Bahnsteuerung M\IeC {\"o}glichkeiten}{12}{subsection.1.5.1}}
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline Programmierung der Schl\IeC {\"u}sselpunkte}{12}{section*.13}}
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline Interpolation}{13}{section*.14}}
\@writefile{toc}{\contentsline {section}{\numberline {1.6}Bewegungsplanung}{13}{section.1.6}}
\@setckpt{robotik}{
\setcounter{page}{14}
\setcounter{equation}{0}
\setcounter{enumi}{3}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{1}
\setcounter{section}{6}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{1}
\setcounter{table}{0}
\setcounter{Item}{19}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{20}
\setcounter{float@type}{8}
\setcounter{mdf@globalstyle@cnt}{1}
\setcounter{mdfcountframes}{0}
\setcounter{mdf@env@i}{0}
\setcounter{mdf@env@ii}{0}
\setcounter{mdf@zref@counter}{0}
\setcounter{lstnumber}{1}
\setcounter{subfigure}{6}
\setcounter{lofdepth}{1}
\setcounter{subtable}{0}
\setcounter{lotdepth}{1}
\setcounter{parentequation}{0}
\setcounter{section@level}{1}
\setcounter{lstlisting}{0}
}
\fontsize{12}{12}\selectfont
\chapter{Robotik}
\section{Mathematische Grundlagen}
%\subsection{Kinematik}
%Kinematikist die reine geometrische Beschreibung von Bewegungvon eines Manipulators oder Roboters. Das essentielle Konzept ist die Position. Eine Kinematische Kette ist ein Satz an Gliedern die durch Gelenke verbunden sind. Die können auch durch eine Graph repräsentiert werden. Kanten repräsentieren Glieder, Knoten repräsentieren Gelenke.\par
%Freiheitsgrade \textit{(weniger formale Definition)} ist die Anzahl unabhängiger Parameter, die zur kompletten Spezifikation der Position eines Mechanismus/Objekts benötigt werden. Beispiele: ein Punkt auf einer Ebene hat 2 DoF, ein Punkt im 3D Raum hat 3 DoF, ein Starrkörper in 2D Raum (z.B. auf einer Ebene) hat 3 DoF, ein Starrkörper im 3D Raum hat 6 DoF. \par
\subsection{Koordinatensysteme}
\begin{itemize}
\item Es wird per Basis eine \textbf{Rechtsdrehendes Koordinatensystem}
......@@ -134,11 +129,53 @@ Im Wesentlichen, ist $v'$ eine Quaternionsvektor die aus eine Vektor $v \in \mat
Konkatenation zweier Rotationen eines Vektors $v$ mit zwei Rotationsquaternionen $q$ und $r$, entspricht gerade der Rotation mit dem Quaternion $p = q \cdot r$.
\subsection{SLERP Interpolation von Quaternionen}
Das SLERP Interpolation führt eine Interpolation von 2 Quaternionen mit einem Parameter $t \in [0,1]$. Hier ist $t$ als Fertigstellunggrad zu verstehen. Z.b $t=0$ ist Position ganz am Anfang, $t=0.5$ ist die Position halbwegs und $t=1$ ist Position am Ziel. Die Berechnung erfolgt wie unten:
\begin{align*}
SLERP(q_1, q_2, t) = \frac{\sin((1-t)\theta)}{\sin\theta}q_1 + \frac{\sin(t\theta)}{\sin\theta}q_2, \langle q_1\vert q_2 \rangle = \cos\theta
\end{align*}
\subsection{Duale Quaternionen}
Reelle Quaternionen eignen sich für die Beschreibung der Orientierung, nicht aber zur Beschreibung der Lage eines Objektes (Translation fehlt). Idee hier ist die Ersetzung der 4 reellen Werte eines Quaternion durch Dualzahlen.
Reelle Quaternionen eignen sich für die Beschreibung der Orientierung, nicht aber zur Beschreibung der Lage eines Objektes (Translation fehlt). Idee hier ist die Ersetzung der 4 reellen Werte eines Quaternion durch Dualzahlen. Daher nutzen wir diese Duale Quaterinionen um beite Rotation und Translation zu beschreiben.
Vorgehen der Erzeugung einer Duale Quaternion:
\begin{enumerate}
\item Die 4 reellen Werte eines Quaternion durch Dualzahlen $d$ ersetzen mit
\begin{align*}
d=p+\epsilon \cdot s, \epsilon^2 = 0
\end{align*}
Hier ist $p$ Primärteil und $s$ Sekundärteil.
\item Rotation um eine Achse $a$ mit dem Winkel $\theta$:
\begin{align*}
q_r = \left(\cos\frac{\theta}{2}, a\sin\frac{\theta}{2}\right) + \epsilon \cdot (0,0,0,0)
\end{align*}
\item Translation mit dem Vektor $t = (t_x, t_y, t_z)$
\begin{align*}
q_r = (1,0,0,0) + \epsilon \cdot (0, \frac{t_x}{2}, \frac{t_y}{2}, \frac{t_z}{2})
\end{align*}
\item Schließlich kombiniert man die beide wie folgt um eine Transformation $q_T$ zu erhalten
\begin{align*}
q_T = q_tq_r
\end{align*}
\end{enumerate}
Eine Transformation auf eine Punkt $p$ wäre dann:
\begin{align*}
p'=q_Tp{q_t}^*
\end{align*}
\begin{align*}
({q_t}^* = {q_r}^*{q_t}^*)
\end{align*}
\begin{align*}
(q^* = p^* - \epsilon \cdot s^*)
\end{align*}
\section{Kinematik}
Das kinematische Modell eines Roboters beschreibt die Zusammenhänge zwischen dem Raum der Gelenkwinkel (Roboterkoordinaten, Konfigurationsraum) und dem Raum der Lage des Endeffektors in Weltkoordinaten (Arbeitsraum, Kartesischer Raum). Es teilt sich in 2 Arten von Kinematiken.
Kinematik ist die reine geometrische Beschreibung von Bewegung von eines Manipulators oder Roboters. Das essentielle Konzept ist die Position. Eine Kinematische Kette ist ein Satz an Gliedern die durch Gelenke verbunden sind. Die können auch durch eine Graph repräsentiert werden. Kanten repräsentieren Glieder, Knoten repräsentieren Gelenke.\par
Das kinematische Modell eines Roboters beschreibt die Zusammenhänge zwischen dem Raum der Gelenkwinkel (Roboterkoordinaten, Konfigurationsraum) und dem Raum der Lage des Endeffektors in Weltkoordinaten (Arbeitsraum, Kartesischer Raum). Es teilt sich in 2 Arten von Kinematiken. \par
Freiheitsgrade \textit{(weniger formale Definition)} ist die Anzahl unabhängiger Parameter, die zur kompletten Spezifikation der Position eines Mechanismus/Objekts benötigt werden. Beispiele: ein Punkt auf einer Ebene hat 2 DoF, ein Punkt im 3D Raum hat 3 DoF, ein Starrkörper in 2D Raum (z.B. auf einer Ebene) hat 3 DoF, ein Starrkörper im 3D Raum hat 6 DoF. \par
\subsubsection{Vorwärtskinematik}
Bestimmung der Lage des Endeffektors aus den Gelenkwinkelstellungen des Roboters. \par
Als Beispiel, aus einem Konfiguration
......@@ -172,7 +209,7 @@ Die DH Parameter reduzieren die Anzahl an Gelenkbeschreibendeparameter von 6 auf
Hier als Beispielbild unten eingeführt:
\begin{figure}[H]
\centering
\includegraphics[scale=0.4]{images/dh.png}
\includegraphics[scale=0.5]{images/dh.png}
\caption{DH-Konvention bei 2 Gelenke}
\end{figure}
......@@ -201,3 +238,142 @@ Schließlich, lässt sich eine Transformation von $OKS_{i-1}$ auf $OKS_i$ mittel
\begin{align*}
A_{i-1,i} = R_{z_{i-1}}(\theta_i) \cdot T_{z_{i-1}}(d_i) \cdot T_{x_i}(a_i) \cdot R_{x_i}(\alpha_i)
\end{align*}
Man kann die DH Transformationsmatrizen auch verketten und z.B die Stellung von Basis zu Grefier, aus gegebene Winkel $\theta_1, ..., \theta_n$ mittles:
\begin{align*}
S_{B,G}(\theta) = A_{0,1}(\theta_1) \cdot A_{1,2}(\theta_2) \cdot ... \cdot A_{n-1,n}(\theta_n)
\end{align*}
\subsection{Jacobi Matrizen}
Ansatz hier ist dass eine Ableitung der direkte Vorwärtskinematik, die Endeffektorgeschwindigkeiten geben würde. \par
Bisher haben wir hauptsächlich mit die $SO(3)$ Gruppe beschäftigt und haben zu eine Konfiguration eine Matrixdarstellung von diese Gruppe gefunden. Und das ist nicht passend für eine Jacobi Matrix Aufbau, denn es braucht eine Vektorwertige Darstellung von eine Position. Somit werden wir mit die RPY Repräsentation arbeiten ($f: \mathbb{R}^n \rightarrow \mathbb{R}^6 (x, y, z, \alpha, \beta, \gamma)$ wenn es um Geschwindigkeitsprobleme geht.
\subsubsection{Endeffektor Geschwindigkeiten}
Zu eine Kinematische Kette Trajektorie (Funktion von Zeit nach Konfigurationsraum)
\begin{align*}
\theta: \mathbb{R} \rightarrow \mathbb{R}^n, \theta(t) = (c_1, c_2, ... c_n)
\end{align*}
gilt die Endeffektorposition (eine Position mittels die RPY Repräsentation):
\begin{align*}
x(t) = f(\theta(t)) \Rightarrow x(t) \in \mathbb{R}^6
\end{align*}
Somit ergibt sich aus der Differentation von Position $x$ unter Zeit, die Endeffektorgeschwindigkeit zur Zeitpunkt $t$:
\begin{align*}
\frac{\delta x}{\delta t} = \frac{\delta f(\theta(t))}{\delta t} \stackrel{\text{Kettenregel}}{=} J_f(\theta(t)) \cdot \dot{\theta(t)}
\end{align*}
Die Berechnung von $J_f(\theta)$ ist:
\begin{align*}
J_f(\theta) = (\frac{\delta f}{\delta \theta_1} ... \frac{\delta f}{\delta \theta_n}) \in \mathbb{R}^{6 \times n}
\end{align*}
wobei man von der einzelne Ableitungen, zwei Berechnungen unterscheiden kann:
\begin{enumerate}
\item
Wenn das $j$-te Gelenk eine Translation in Richtung $v_j \in \mathbb{R}^3$ macht
\begin{align*}
\frac{\delta f}{\delta \theta_j} = \begin{pmatrix}
v_j \\
0
\end{pmatrix} \in \mathbb{R}^6
\end{align*}
\item
Wenn das $j$-te Gelenk eine Rotation in um die Achse $v_j \in \mathbb{R}^3$ an der Position $p_j \in \mathbb{R}^3 $ macht
\begin{align*}
\frac{\delta f}{\delta \theta_j} = \begin{pmatrix}
v_j \times (f(\theta) - p_j)\\
0
\end{pmatrix} \in \mathbb{R}^6
\end{align*}
\end{enumerate}
\subsubsection{Singularität}
Eine kinematische Kette ist in einer singulären Konfiguration, wenn die zugehörige Jacobi-Matrix nicht vollen Rang hat.
\subsection{Inverse Kinematik}
Als Wiederholung, die inverse von der Vorwärtskinematik zu berechnen, heisst aus eine Gegebene Endeffektorposition, die dazugehörige Gelenkkonfigurationen zu berechnen. Als Beispiel aus eine gegebene Position:
\begin{align*}
P_{TCP} \Leftrightarrow {}^{BKS}T_{TCP}(\theta) = A_{0,1}(\theta_1) \cdot A_{1,2}(\theta_2) \cdot ... \cdot A_{n-1,n}(\theta_n), \Theta \in C \subseteq \mathbb{R}^n
\end{align*}
muss $\Theta$ gefunden werden. \par
Hier gibt es verschiedene Lösungsverfahren, und jeder hat ihre eigene Vorteile im Vergleich zu der andere. Z.B, Numerische Verfahren für die Allgemeine Lösung von Gleichungssysteme sind langsamer und haben höhere Aufwand im Vergleich zur Spezielle Lösungen wie trigonometrisch basierte Lösungen, aber die wirken dagegen als kräftiger denn man kann die numerische Verfahren überall Anwenden und die spezielle Lösungen stehen speziell für eine begrenzte Anzahl von Roboter.
\section{Dynamik}
%TODO
\section{Regelung}
Unter einer Regelung versteht man eine Anordnung, durch welche bei unvollständig bekannter Strecke, insbesondere unvollständiger Kenntnis der Störgröße, die Regelgröße, d.h. die Ausgangsgröße der Strecke, laufend erfasst und mit der Führungsgröße verglichen wird, um mittels der so gebildeten Differenz die Regelgröße an den Sollverlauf anzugleichen. Dieser ganze Regelung wird üblicherweise in kleiner Regler gepackt die ganz low level Berechnungen durchführen müssen (wie z.B ein Motorregler der die Geschwindigkeit einer Motor konstant behalten soll, unter der Störgröße von Reibung, usw). Für High Level Rechnungen/Regelungen, werden komplette Rechner benutzt statt kleine Regler. \par
Eine Regelung(system) ist wie unten abgebildet:
\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{images/r.png}
\end{figure}
\subsubsection{Aufbau einer Regelung}
\begin{figure}[H]
\centering
\includegraphics[scale=0.4]{images/r2.png}
\end{figure}
Hier wäre die:
\begin{multicols}{3}
\begin{itemize}
\item $w$ Führungsgröße
\item $y$ Stellgröße
\item $r$ Rückführgröße
\item $x_d$ Regeldifferenz
\item $x$ Regelgröße
\item $z$ Störgröße
\end{itemize}
\end{multicols}
Die Wirkungsweise dieser Regelung könnte $x$ gegen eine Sollwert $x_s$ zu regeln, wenn eine Störgröße vorhanden ist. Er befindet sich in einem Regelkreis. \par
\subsubsection{Laplace Transformation}
Da Regler nur Algebraische Ausdrücke rechnen können, werden mithilfe der Laplace Transformation Differential- und Integralausdrücke durch algebraische Ausdrücke ersetzt, und daher muss die Gleichungslösung im Frequenzbereich statt im Zeitbereich stattfinden.
%TODO
\section{Bahnsteuerung}
Eine Bewegung kann als eine Menge von Zuständen $Z_i$ aufgefasst werden mit eine vorgegebene $Z_{Start}$ und $Z_{Ziel}$ Zustand. \par
Die Zustände können aus dem Konfigurationsraum stammen $\mathbb{R}^n$ (näher an der Ansteuerung der Teilsysteme des Roboter) oder aus der Arbeitsraum stammen $\mathbb{R}^3, SO(3)$ (näher an der zu lösenden Aufgabe. Hier ist das Lösen der inversen Kinematik nötig). \par
Es wird an 2 Arten von Steuerung geteilt nämlich: Synchrone (\textit{Bewegung aller Achsen beginnt und endet zum gleichen Zeitpunkt}) und Asynchrone (\textit{Steuerung der Achsen unabhängig voneinander}).
\subsection{Bahnsteuerung Möglichkeiten}
\subsubsection{Programmierung der Schlüsselpunkte}
Anfahren markanter Punkte der Bahn mit manueller Steuerung. Vorgehen:
\begin{enumerate}
\item Anfahren markanter Schlüsselpunkte der Bahn
\item Speichern der Gelenkwerte
\item Ergänzung der gespeicherten Werte um Parameter wie Geschwindigkeit, Beschleunigung usw.
\end{enumerate}
\newpage
\subsubsection{Interpolation}
\textbf{Punkt-zu-Punkt-Steuerung (PTP)} bestimmt anhand vorgegebene Robotereinschränkungen wie maximale Geschwindigkeit, maximale Beschleunigung die einzelne Interpolierte Zustände. Allgemeine Vorgehen unten abgebildet:
\begin{center}
\begin{figure}[H]
\centering
\subfigure[Verfahren]{\includegraphics[scale=0.4]{images/ip1.png}}
\subfigure[Effektive Graph]{\includegraphics[scale=0.5]{images/ip2.png}}
\end{figure}
\end{center}
\par
\textbf{Punkt-zu-Punkt-Steuerung (PTP) mit Sinoidenprofil}
Eine Besondere Art von PTP wobei der Effektive Graph so aussehen soll:
\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{images/ip3.png}
\end{figure}
\par
\textbf{Splines} Eine Interpolation die auf eine allgemeine Polynom vom feste Grad $n$ mit einige feste Bedingungen (wie z.B $\ddot{f}(t_s) = 0, \dot{f}(t_{end}) = 3$) usw, basiert. Anhand diese Bedingungen kann man diese Konstanten der allgemeine Polynom bestimmen und somit erhält man eine Interpolationsfunktion.
\section{Bewegungsplanung}
%TODO
Erzeugen einer kollisionsfreien Trajektorie unter Berücksichtigung verschiedener Ziele und Einschränkungen.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment