# Computional Engineering ind Robotiks
#### Vorwärts- und inverse Kinematik
* Vorwärts: $(\varphi \ l)^T \rightarrow \text{ Modell } \rightarrow (x_1 \ x_2)^T$
* Rückwärts: $(x_1 \ x_2)^T \rightarrow \text{ Modell } \rightarrow (\varphi \ l)^T$
#### Denavit-Hartenberg (DH) Konvention
* Die Koordinatenachsen liegen in den jeweiligen Bewegungsachsen.
* Die $z_{i-1}$-Achse liegt entlang der Bewegungsachsedes i-ten Gelenks.
* Die $x_i$-Achse steht senkrecht zur $z_{i-1}$- (und $z_i$)-Achse, zeigt von ihr weg und hat einen Schnittpunkt mit ihr.
* Die $y_i$-Achse wird so gewählt, dass $x_i, y_i, z_i$, ein Rechts-Koordinatensystem ergeben.
*
#### Iterative Nullstellenapproximation
* Konvergenzbedingung für Fixpunktiteration: Eigenwerte von $\frac{\delta g_1}{\delta x}$ liegen im Einheitskreis und $x^(0)$ nahe genug bei $x_s$
* $|g'_1(x_s)| = |f'(x_s) + 1| < 1$
* Optimale Relaxionsmatrix = $-[\frac{\delta f}{\delta x}(x_2)]^{-1}$
* Jacobi-Matrix $F(q) = f(q_1, \dots, q_n) -> J_F(q) = \begin{pmatrix}\frac{\delta F_1}{\delta q_1} & \dots & \frac{\delta F_1}{\delta q_n} \\ \vdots & \ddots & \vdots \\\frac{\delta F_m}{\delta q_1} & \dots & \frac{\delta F_m}{\delta q_n}\end{pmatrix}$
* Beispiel: $F(x) = \begin{pmatrix} F_1 \\ F_2\end{pmatrix} := \begin{pmatrix}x_2 \\ -\frac{k}{m}x_1\end{pmatrix} = \begin{pmatrix}0 & 1 \\ -\frac{k}{m} & 0\end{pmatrix}$
* Fixpunktverfahren hat eine gute globale Konvergenz
* Newton Verfahren hat eine schlechte globale Konvergenz
#### DGL
* Richtungsfelder
* Nicht-autonom: t1 != t2, unterschiedlicher Steigung in t-Richtung
#### Wichtig Formeln
* Eulersche Formel: $e^{iz} = \cos(z) + \sin(z)i$
* $\text{Re}(e^{iz}) = \cos(x), \text{Im}(e^{iz} = \sin(x)$
* Variation der Konstanten Formel
* Form: $I \subseteq \mathbb{R}, a, b \in C(I), t_o \in I, y_o \in \mathbb{R}$
$$
\begin{align*}
&\begin{cases}
y'(t) + a(t)y(t) &= b(t), t \in I\\
y(t_0) &= y_0
\end{cases} \\
y(t) &= e^{-A(t)}y_0 + e^{-A(t)} \int_{t_0}^t b(s)e^{A(t)} ds \quad \text{mit} \quad A(t) = \int_{t_0}^t a(s) ds
\end{align*}
$$
* Trennung der Variablen
* Form: $I \subseteq \mathbb{R}; g: I \rightarrow \mathbb{R}, h: \mathbb{R} \rightarrow \mathbb{R}, t_o \in I; y_o \in \mathbb{R}, y_0 \in \mathbb{R}$
$$
\begin{cases}
y'(t) = g(t) h(y(t)), t \in I\\
y(t_0) = y_0
\end{cases}
$$
* Schmierrechnung:
$$
\frac{dy}{dt} = g(t) h(y(t))
$$
Bringe alle $y$ nach links mit $dy$ und alle $t$ nach rechts mit $dt$ und bilde anschließend das Integral. Zum Schluss nach $y$ auflösen.
* Matrix-Exponentialfunktion von $A \in \mathbb{R}^{n \times n}$
$$
e^A := \sum_{n = 0}^\infty \frac{A^n}{n!}
$$
* $e^O = I$ ($O$ = Nullmatrix)
* $AB = BA \Rightarrow c^A c^B = c^{A+B}$
* $e^A$ invertierbar mit $(e^A)^{-1} = e^{-A}$
* Falls $A$ = Diagonalmatrix mit Diagonaleinträgen $\lambda_1, \dots, \lambda_N \Rightarrow e^A$ ist ebenfalls eine Diagonalmatrix mit Diagonaleinträgen $e^{\lambda_1}, \dots, e^{\lambda_N}$
* Variation der Konstanten Formel mit Diagonalmatrix $A$
* Form:$I \subseteq \mathbb{R}, A \in \mathbb{R}^{N \times N}, b: I \rightarrow \mathbb{R}^N, t_o \in I, y_o \in \mathbb{R}^N$
$$
\begin{align*}
&\begin{cases}
y'(t) + A(t)y(t) &= b(t), t \in I\\
y(t_0) &= y_0
\end{cases} \\
y(t) &= e^{(t-t_0)^A}y_0 + \int_{t_0}^t e^{(t-s)^A} b(s) ds \\
A &= SDS^{-1}
\end{align*}
$$
* Fundamentalsystem
* Form: $y^{(n)} + y^{(1)} = 0$ (Differentialgleichung höherer Ordnung)
* Alle $y^{(n)}$ ersetzen durch $\lambda^n$ und Nullstellen berechnen
* Eigenwerte bestimmen: $\det(A - \lambda I) = 0$
* Für jede Nullstelle die Vielfachheit merken
* Fundamentalsystem = Menge von Nullstellen als $e^{\lambda t}$
* $\lambda = \pm i\omega$ als $e^{\lambda t} \cdot \begin{cases} \cos(\omega t), \sin(\omega t) & \omega \geq 0\\\text{Lösung ignorieren} & \omega < 0\end{cases}$
* Falls Nullstelle mehrfach vorhanden: $e^{\lambda t}, \dots, t^m e^{\lambda t}$ mit $m =$ Anzahl an mehrfache Nullstelle
* Form: (Gewöhnliche Differentialgleichung)
$$
\begin{cases}
y_1'(t) &= ay_1(t) + by_2(t) \\
y_2'(t) &= cy_1(t) + dy_2(t)
\end{cases}
$$
* $y'(t) = A y(t)$, wobei $A = \begin{pmatrix}a & b \\ c & d\end{pmatrix}$
* Bestimme Eigenwerte $\det(A - \lambda I) = 0$
* Eigenwerte in $(A - \lambda I)$ einsetzen, um Eigenvektor $v$ zu bestimmen
* Fundamentalsystem = Menge von $e^{\lambda t} v$
* Jacobi-Matrix für $F(q) = f(q_1, \dots, q_n) -> J_F(q) = \begin{pmatrix}\frac{\delta F_1}{\delta q_1} & \dots & \frac{\delta F_1}{\delta q_n} \\ \vdots & \ddots & \vdots \\\frac{\delta F_m}{\delta q_1} & \dots & \frac{\delta F_m}{\delta q_n}\end{pmatrix}$
* $q_1, \dots, q_n$: Variablen
* $F_1, \dots, F_m$: Eine Zeile im Vektor entspricht $F_k$
# Computional Engineering and Robotics
## Begriffe
* Statische Modelle: Beschreiben einen konstanten Zustand oder einen Zustand zu einem festen Zeitpunkt
* Vorwärts- und inverse Kinematik sind statische Modelle
* Dynamische Modelle: Beschreiben den zeitlichen Verlauf eines Zustands bzw. dessen Änderung
* Kinematische Modelle: Unabhängig von Massen und Kräften (statisch oder dynamisch)
* Kinetische Modelle: Abhängig von Massen und Kräften (statisch oder dynamisch)
## Formeln
* Kräfte:
* Gravitationskraft: $F_G = -m \cdot g$
* Newtons 2. Gesetz für Punktmassen: $\sum_i F_i = m \ddot{x}(t)$
* Newtons 2. Gesetz vereinfacht für Rotationen einer Punktmasse: $I \ddot{\varphi} = \sum_i M_i$
* Wenn $M_i$ durch im Abstand $r_i$ orthogonal wirkende Tangeltiankraft $F_{i,\perp} erzeugt wird (einarmiger Hebel): $M_i = r_i \times F_{i, \perp}$
* Federmodell
* translatorisch: $F_{\text{Feder}} = k_p (x_{\text{ref} - x})$, $k_p > 0$ Federkonstante, $x_{\text{ref}}$ Ruhelage
* rotatorisch: $M_p = k(\varphi_0 - \varphi)$
* Dmämpfermodell
* translatorisch: $F_{\text{Dämpfer}} = - k_d \dot{x}(t)$
* rotatirsch $M_D = -d \dot{\varphi}$
* Feder-Masse-Dämpfer-System: $m\ddot{x}(t) = F_{\text{ext}} + k_p(x_{\text{ref}}) - x) - k_d \dot{x}(t)$ mit Summe aller externen Kräften, z.B. Gravitationskraft.
* Einfaches Pendel: $\ddot{\varphi}(t) = - \frac{g}{l} \sin\varphi(t) - \frac{d}{ml^2}\dot{\varphi}(t)$
* $F_{\text{tang}}$: Tangentialkraft, die das Pendel zurücktreibt
* $F_{\text{rad}}$: Radial wirkende Kraft, wirkt nur auf Aufhängung, die als starr und nicht verformbar angenommen ist.
* $M_{\text{tang}} = l \dot F_{\text{tang}}$ Drehmoment
* Trägheitsmoment $I$: $I = m l^2$, Punktmasse $m$ mit Radius $l$ um die Dreachse
* Impulsmoment $\dot{L}$: $L(t) = I \cdot \dot{\varphi}(t)$, Winkelgeschwindigkeit $\dot{\varphi}(t)$, $\dot{L(t)} = I \cdot \ddot{\varphi}(t)$, Winkelgeschwindigkeit $\dot{\varphi}(t)$
## Fachwissen
* Das explizite Eulerverfahren unterschätzt die Lösung.
* Das implizite Eulerverfahren überschätzt die Lösung.
* Das Heun-Verfahren unterschätzt die Lösung und korrigiert dann.