---
tags: 6.Semester
---
# Robotik 1 by Richter 
Nicht relevanter Stoff: ~~durchgestrichen~~
## Vorlesung 1
### ~~Einführung, Übersicht~~
nicht klausurrelevant
## Vorlesung 2
### Gelenktypen und deren Bezeichnung
#### Rotationsgelenk \(R\)
Symbol:

* Drehachse bildet einen rechten Winkel mit den Achsen der beiden angeschlossenen Glieder
* Beispiel: Ellbogengelenk
#### Torsionsgelenk (T)
Symbol:

* Drehachse verläuft parallel zu den Achsen der beiden Glieder
* Beispiel: Unterarmdrehung
#### Revolvergelenk (V)
Symbol:

* Eingangsglied verläuft parallel zur Drehachse
* Ausgangsglied steht im rechten Winkel zur Drehachse
* Beispiel: Schultergelenk
#### Lineargelenk (L)
Symbol:

* gleitende/fortschreitende Bewegung entlang der Achse
* (auch Translationsgelenk, Schubgelenk, prismatisches Gelenk)
* Beispiel: Pneumatikzylinder
### Arbeitsräume
* besteht aus den Punkten im 3D Raum, die von der Roboterhand angefahren werden können
* 3 Freiheitsgrade, also mind. 3 Gelenke nötig
* Grundform
* würde sich ergeben, wenn sich die Arme des Roboters und die Begrenzung der Gelenkwinkel nicht blockieren würden
### Koordinatensysteme (-> Formen)
#### Räumliche Koordinatensysteme
|Kartesisches Koordinatensystem|Kugelkoordinaten|Zylinderkoordinaten|
|-|-|-|
||||
### Beispiele


## Vorlesung 3
### Koordinatensysteme am Roboter
* Weltkoordinatensystem
* fest mit der Welt verbunden
* Basiskoordinatensystem (base frame)
* fest mit dem Sockel des Roboters verbunden
* relativ zu Weltkoordinaten
* (Koordinatensysteme der einzelnen Gelenke)
* Handflanschkoordinaten (tool0)
* mit Handflansch verbunden
* mitbewegt und über Kinematische Kette relativ zu den Basiskoordinaten festgelegt
* Tool-/Werkzeugkoordinatensystem (tool frame)
* relativ zu den Handflanschkoordinaten
* TCP (tool center point)
* z in Stoßrichtung
* Anwender-Koordinaten (user frame)
* mit einer Aufnahmevorrichtung für Werkstücke verbunden
* relativ zu Weltkoordinaten
* Werkobjekt-Koordinaten (object frame)
* mit einem Werkstück verbunden
* relativ zu Anwenderkoordinaten
### Programmierung
Sprache: Rapid
#### Bewegungsbefehle
* MoveJ (MoveJoint)
* Achsenbewegung
* `MoveJ ToPoint, Speed, Zone,Too1 [\WObj] [\TLoad]`
* Bsp: `MoveJ pHome, v1000, z50, tKuli;`
* MoveL (MoveLinear)
* Lineare Bewegung (im 3D Raum)
* `MoveL ToPoint, Speed, Zone,Too1 [\WObj] [\TLoad]`
* Bsp: `MoveL pHome, v1000, z50, tKuli;`
* MoveC (MoveCirc)
* Kreisbewegung
* `MoveC CirPoint ToPoint speed Zone Tool [\WObj]`
#### Datenstruktur
```
CONST robtarget pHome:=
pos: [[x,y,z],
rot: [ql ,q2,q3,q4],
robconf: [cfl ,cf4,cf6,cfx],
extax: [eax_a, eax_b, eax c, eax_d, eax e, eax_f]];
```
### ~~Programmerstellung, Praxis~~
nicht klausurrelevant
## Vorlesung 4
### Kinematik
**Kinematik** ist die Lehre der geom. und analyt. Beschreibung der Bewegungszustände mechanischer Systeme.
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)
Problem 1: Lokalisierung des TCP (Kinematisches Problem)
Problem 2: Positionierung des TCP (Inverses Kinematisches Problem, Bahnplanung)
### Objekte und Objektlagen
* Basiskoordinatensystem -> Objektkoordinatensystem
* Unterscheidung zwischen rechtsdrehenden und linksdrehenden Koordinatensystemen (wir verwenden rechtsdrehende, siehe Rechte-Hand-Regel)
* Lage eines Objekts im 3-dim. euklidischen Raum kann durch Tupel von sechs reellen Zahlen beschrieben werden
$\vec{v}=(x,y,z,α,β,γ)$
$x,y,z$ sind Koordinaten
$α,β,γ$ sind die Drehwinkel
### Freiheitsgrad / Bewegungsfreiheitsgrad
**Freiheitsgrad f** eines Objekts ist die Anzahl möglicher unabhängiger Bewegungen in Bezug auf das BKS. Für 3-dim. Raum frei bewegliche Objkete gilt f=6 (3 Translationen und 3 Rotationen)
**Bewegungsfreiheitsgrad F** eines Roboters ist die Anzahl der Bewegungsachsen der Gelenke, um die sich der Roboter bewegen kann.
* Freiheitsgrad eines Rotationsgelenks: $F_R\leq 3$
* Freiheitsgrad eines Translationsgelenks: $F_T=1$
* Anzahl der Gelenke eines Roboters: n, i.d.R. $n \geq 6$
* $F\geq f$
### Orientierungsbeschreibung mit 3x3 Matrizen
Jede beliebige Orientierung eines starren Körpers im 3-dim. Raum ist erreichbar durch 3 Rotationen um geeignete Achsen.
Jede Rotation um eine Achse kann durch eine 3x3 Rotationsmatrix dargestellt werden.
### Drehung um x/y/z Matrix inkl. Herleitung
#### Rotation um x Achse
$R_x(α)=\left( \begin{array}{rrr}1 & 0 & 0 \\0 & \cos(α) & -\sin(α) \\0 & \sin(α) & \cos(α) \\\end{array}\right)$
#### Rotation um y Achse
$R_y(α)=\left( \begin{array}{rrr}\cos(α) & 0 & \sin(α) \\ 0 & 1 & 0 \\ -\sin(α) & 0 & \cos(α) \\\end{array}\right)$
#### Rotation um z Achse
$R_z(α)=\left( \begin{array}{rrr}cos(α) & -\sin(α) & 0 \\ \sin(α) & \cos(α) & 0 \\ 0 & 0 & 1 \\\end{array}\right)$
#### Herleitung für Drehung um x Achse
> Additionstheorem
> $\sin(Φ+α)=\sin(Φ)\cdot \cos(α)+\cos(Φ)\cdot \sin(α)$
> $\cos(Φ+α)=\cos(Φ)\cdot \cos(α)-\sin(Φ)\cdot \sin(α)$

1. Schritt
$y=l\cdot \cos(Φ)$
$z=l\cdot \sin(Φ)$
2. Schritt
$l=y/\cos(Φ)$
$l=z/\sin(Φ)$
3. Schritt
$y'=l\cdot \cos(Φ+α)$
$z'=l\cdot \sin(Φ+α)$
4. Schritt
Additionstheoreme anwenden
$y'=l\cdot (\cos(Φ)\cdot \cos(α)-\sin(Φ)\cdot \sin(α))$
$z'=l\cdot (\sin(Φ)\cdot \cos(α)+\cos(Φ)\cdot \sin(α))$
5. Schritt
Ausmultiplizieren
$y'=l\cdot \cos(Φ)\cdot \cos(α) - l\cdot \sin(Φ)\cdot \sin(α))$
$z'=l\cdot \sin(Φ)\cdot \cos(α) + l\cdot \cos(Φ)\cdot \sin(α)$
6. Schritt
Einsetzen der Formeln aus dem 2. Schritt
$y'=(y/\cos(Φ))\cdot \cos(Φ)\cdot \cos(α) - (z/\sin(Φ))\cdot \sin(Φ)\cdot \sin(α)) = y\cdot \cos(α) - z\cdot \sin(α)$
$z'=(z/\sin(Φ))\cdot \sin(Φ)\cdot \cos(α) + (y/\cos(Φ))\cdot \cos(Φ)\cdot \sin(α) = z\cdot \cos(α) + y\cdot \sin(α)$
7. Schritt
Als Matrix schreiben
$R_x(α)=\left( \begin{array}{rrr}1 & 0 & 0 \\0 & \cos(α) & -\sin(α) \\0 & \sin(α) & \cos(α) \\\end{array}\right)$
### ~~Programmierung, Praxis, Strukturierung von Programmen~~
nicht klausurrelevant
## Vorlesung 5
### Verkettung von Rotationen, Interpretation
Rotationen können durch Matrixmultiplikation verkettet werden ($R=R_nR_{n-1}\dots R_2R_1$)
Unterscheidung zwischen:
* Vormultiplikation
* $R=(R_n(R_{n-1}\dots (R_2R_1)))$
* Interpretation: Drehung des momentanen Koordinatensystems um feste Achsen des Ursprungskoordinatensystems
* Nachmultiplikation
* $R=(((R_nR_{n-1})\dots R_2)R_1)$
* Interpretation: Drehung um momentanes Koordinatensystem
### Euler/Roll-Pitch-Yaw -> Vergleich, Vorgehen
#### Euler Winkel
* Multiplikation von links nach rechts
* Jede Drehung bezieht sich auf das neue Koordinatensystem
* Drehung um jeweils veränderte Achsen!
Vorgehen
1. Drehung $\alpha$ um die $z$-Achse des BKS: $R_z$
2. Drehung $\beta$ um die neue $y$-Achse $y'$: $R_{y'}$
3. Drehung $\gamma$ um die neue $z$-Achse $z''$: $R_{z''}$
$R_s=R_z\cdot R_{y'} \cdot R_{z''}$
#### Roll-Pitch-Yaw
* Multiplikation von rechts nach links
* Jede Drehung bezieht sich auf das BKS
* Drehung um unveränderte Achsen!
Vorgehen
1. Drehung α um die x-Achse des BKS: $R_x$
2. Drehung β um die y-Achse des BKS: $R_y$
3. Drehung γ um die z-Achse des BKS: $R_z$
$R_s=R_z\cdot R_y \cdot R_x$
### Homogene 4x4 Matrizen
#### Aufbau der Matrix
$T=\left(\begin{array}{rr}R_{3\times 3} & p_{3\times 1} \\ f_{1\times 3} & 1\times 1 \end{array}\right)$
#### Homogene Basisrotationmatrizen
$T_{x,α}=\left(\begin{array}{rrrr} 1 & 0 & 0 & 0 \\ 0 & \cosα & -\sinα & 0 \\ 0 & \sinα & \cosα & 0 \\ 0 & 0 & 0 & 1 \\ \end{array}\right)$
$T_{y,Φ}=\left(\begin{array}{rrrr} \cosΦ & 0 & \sinΦ & 0 \\ 0 & 1 & 0 & 0 \\ -\sinΦ & 0 & \cosΦ & 0 \\ 0 & 0 & 0 & 1 \\ \end{array}\right)$
$T_{z,θ}=\left(\begin{array}{rrrr} \cosθ & -\sinθ & 0 & 0 \\ \sinθ & \cosθ & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{array}\right)$
#### Homogene Basistranslationsmatrix
$T_{z,θ}=\left(\begin{array}{rrrr} 1 & 0 & 0 & dx \\ 0 & 1 & 0 & dy \\ 0 & 0 & 1 & dz \\ 0 & 0 & 0 & 1 \\ \end{array}\right)$
Verschiebung des OKS nach $(dx, dy, dz)^T$ im BKS
#### homogene Koordinaten
#### wie werden die Einheitsmatrizen abgebildet
#### Invertierung
$R^{-1}=R^T$
$T^{-1}=\left(\begin{array}{rrrr} n_x & n_y & n_z & -n^Tu \\ o_x & o_y & o_z & -o^Tu \\ a_x & a_y & a_z & -a^Tu \\ 0 & 0 & 0 & 1 \\ \end{array}\right)=\left(\begin{array}{rrrr} & & & -n^Tu \\ & R_{3x3}^T & & -o^Tu \\ & & & -a^Tu \\ 0 & 0 & 0 & 1 \\ \end{array}\right)$
## Vorlesung 6
war eine Übung, keine neuen Themen
## Vorlesung 7
### Rotation und Translation von Punkten
In kartesischen Koordinaten

In homogenen Koordinaten

### Lagebeschreibung
$^A H_B$ Beschreibt die Lage des Koordinatensystems B relativ zu A
Transformationsabbildung
$^A H_B = ^B P \rightarrow ^A P$
Transformationsoperator
$H = ^B P_1 \rightarrow ^A P_2$
### Verkettete Lagebeschreibung
Lagebeschreibung relativ auf ein als geeignet erscheinendes Koordinatensystem
Umrechnung von Koordinaten notwendig
Vorteile:
* Verringerung des Nachführaufwands bei Objektbewegung (Nur Arm bewegen, nicht Platform)
* Einzelne Koordinatenangaben beschränken sich auf kürzere Distanzen
Es gilt: $^{BKS}H_B = ^{BKS}H_A * ^AH_B$
Bsp: 
-> Viele Parameter, Hohe Redundanz, Interpolation schwierig
=> deswegen
### Quaternionen (Rechenregeln)
Definition:
* Auffassung als hyperkomplexe Zahl
* Mit $a,b,c,d$ $\epsilon$ Quaternion $q$ wie folgt beschrieben:
$q=a+b*i+c*j+d*k$
* Mit
$i^2 = j^2 = k^2 = ijk = -1$
$ij = -ji = k$
$jk = -kj = i$
$ki = -ik = j$
a ist der **Realteil**, $u = (b,c,d)^T$ der **Imaginärteil**
$q = (a,b,c,d)^T$ oder auch $q=(a,u)^T$
#### Rechenregeln

### Rotationen mit Quaternionen


Bewertung:
* Intuitive Darstellung von Rotationen
* Kompakte Darstellung (4 Werte)
* Rotation direkt um gewünschte Achse
## Vorlesung 8
### ~~Geometrisches Modell~~
nicht klausurrelevant
### Kinematisches Modell
beschreibt die Zusammenhänge zwischen Raum der Gelenkwinkel und Raum des Lage Endeffektors
Einsatzbereich
* Bestimmung des Zusammenhangs zwischen Gelenkwerten und Stellungen
* Erreichbarkeitsanalyse
* Relation zwischen Körper des Roboters (Selbstkollision)
* Relation zur Umgebung (Kollisionserkennung)
### Kinematische Kette
Bildung von mehreren Körpern, die durch Gelenke kinematisch verbunden sind
Konventionen
* Jedes Armelement entspricht einem starren Körper
* Armelemente sind durch ein Schub- oder Rotationsgelenk verbunden
* Pro Gelenk nur ein Freiheitsgrad
Beschreibung der Kinematik, Lage jedes Elements auf ein Referenzsystem zu definieren
Vorgehen
* Jedes Element festes lokales Koordinatensystem
* Ursprung des KS liegt im Armgelenk, welches das Element bewegt
* Für jedes Element muss eine Transformationsmatrix bestimmt werden, die das lokale KS auf BKS umwandelt
* Umwandlung von lokalem KS in BKS durch Beschreibungsvektor oder 4x4 homogene Transformationsmatrix
### Denavit-Hartenberg Konvention (Vorteile?)
Ziel: Reduktion der Parameter zur Beschreibung eines Armelementes mit Gelenk
Eigenschaften:
* Systematische Beschreibung der Beziehung zwischen benachbarten Gelenken
* Reduktion Anzahl Parameter von 6 auf 4
Transformation vom OKS des i-ten Armelements auf das OKS des (i-1)-ten Elements
* Koordinatensysteme liegen in den Bewegungachsen
* z~i~-Achse liegt entlang der Drehachse des i+1-ten Gelenks
* x~i~-Achse steht senkrecht zur z~i-1~-Achse und zeigt von ihr weg
* Die y~i~-Achse bildet mit den anderen ein rechtshändiges KS

> [War des ne Beispiel Rechnung oder ist das relevant?-> relevant, wird auch in einer Rechenaufgabe zur Klausurvorbereitung verwendet]

### Direktes Kinematisches Problem
Aus den DH-Parametern und den Gelenkwinkeln soll die Stellung des Greifers ermittelt werden
Stellung des Greifers bezogen auf BKS
Beispiel:


Zusammenfassung:
1. Skizze des Manipulators
1. Identifiziere und nummeriere die Gelenke (1, Letztes Glied = n)
1. Zeichne die Achsen z~i-1~ für jedes Gelenk i
1. Bestimme die Parameter ai zwischen z~i-1~ und z~i~
1. Zeichne die x~i~ –Achsen
1. Bestimme die Parameter α~i~ (Verwindung um die x~i~-Achsen)
1. Bestimme die Parameter d~i~ (Gelenkabstand)
1. Bestimme die Winkel θ~i~ um z~i-1~-Achsen
1. Gelenk-Transformation-Matrizen A~i-1,i~ - verknüpfe sie
### ~~Inverse Kinematik~~
nicht klausurrelevant