---
# System prepended metadata

title: Computional Engineering and Robotics

---

# 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.