diff --git a/electives/amr/autonomous-mobile-robots-cheatsheet.pdf b/electives/amr/autonomous-mobile-robots-cheatsheet.pdf index 182d5f2..0a634de 100644 Binary files a/electives/amr/autonomous-mobile-robots-cheatsheet.pdf and b/electives/amr/autonomous-mobile-robots-cheatsheet.pdf differ diff --git a/electives/amr/autonomous-mobile-robots-cheatsheet.tex b/electives/amr/autonomous-mobile-robots-cheatsheet.tex index 5cf1c54..30003b8 100644 --- a/electives/amr/autonomous-mobile-robots-cheatsheet.tex +++ b/electives/amr/autonomous-mobile-robots-cheatsheet.tex @@ -11,6 +11,12 @@ \renewcommand{\subsectionnumbering}{section} \renewcommand{\numberingpreset}{off} \renewcommand{\definitionShortNamingEN}{Def} +\renewcommand{\remarkShortNamingEN}{Rem} +\renewcommand{\lemmaShortNamingEN}{Lem} +\renewcommand{\theoremShortNamingEN}{Thm} + +\renewcommand{\descriptorNameDisplay}[1]{\textbf{#1}} + \fboxsep 1pt \fboxrule 0.1pt @@ -41,7 +47,8 @@ \section{Introduction} \input{parts/00_basics/00_probability.tex} \input{parts/00_basics/01_measurement-models.tex} -\input{parts/00_basics/02_trigonometry.tex} +% TODO: Add this (especially law of cosines) +% \input{parts/00_basics/02_trigonometry.tex} \section{Locomotion \& Kinematics} \input{parts/01_kinematics/00_intro.tex} diff --git a/electives/amr/parts/01_kinematics/00_intro.tex b/electives/amr/parts/01_kinematics/00_intro.tex index 63d1bb9..09bcd1a 100644 --- a/electives/amr/parts/01_kinematics/00_intro.tex +++ b/electives/amr/parts/01_kinematics/00_intro.tex @@ -1,27 +1,32 @@ \subsection{Positioning} -\shortdefinition[Position Vector] +\shortdefinition[Pos Vec.] $_{\color{blue}\fbox{W}}\,\vec{t}\,_{\color{red}\fbox{B}} = \, _{\color{blue}\fbox{W}}\,\vec{t}\,_{\color{ForestGreen}\fbox{W}}\,_{\color{red}\fbox{B}}$, -{\color{blue} Original Frame}, {\color{red} End point}, {\color{ForestGreen} Target Frame}, +{\color{blue} Relative to Frame}, {\color{red} P. in other Frame}, {\color{ForestGreen} Start P. of vec in first F.}, \hl{$\sin = s$, $\cos = c$} \shortdefinition[State vector] $x_R$: $x$, $v$ of rob in $W$, pos of sensors -\shortdefinition[Rot. Mat.] $\mat{R}_{z}(\psi) = \begin{bmatrix} - c(\psi) & -s(\psi) & 0 \\ - s(\psi) & c(\psi) & 0 \\ - 0 & 0 & 1 - \end{bmatrix}$\\ -$\mat{R}_y(\theta) = \begin{bmatrix} - c(\theta) & 0 & s(\theta) \\ - 0 & 1 & 0 \\ - -s(\theta) & 0 & c(\theta) \\ - \end{bmatrix}; - \mat{R}_x(\varphi) - \begin{bmatrix} - 1 & 0 & 0 \\ - 0 & c(\varphi) & -s(\varphi) \\ - 0 & s(\varphi) & c(\varphi) - \end{bmatrix}$ +\shortdefinition[Rot. Mat.] +{\scriptsize + $\mat{R}_{z}(\psi)$ (Yaw), + $\mat{R}_y(\theta)$ (Pitch), + $\mat{R}_x(\varphi)$ (Roll)\\ + $\begin{bmatrix} + c(\psi) & -s(\psi) & 0 \\ + s(\psi) & c(\psi) & 0 \\ + 0 & 0 & 1 + \end{bmatrix}; + \begin{bmatrix} + c(\theta) & 0 & s(\theta) \\ + 0 & 1 & 0 \\ + -s(\theta) & 0 & c(\theta) \\ + \end{bmatrix}; + \begin{bmatrix} + 1 & 0 & 0 \\ + 0 & c(\varphi) & -s(\varphi) \\ + 0 & s(\varphi) & c(\varphi) + \end{bmatrix}$ +} \shortremark Application: ${_W} \vec{a} = \mat{R}_{WB} {_B} \vec{a}$ @@ -29,25 +34,54 @@ $\mat{R}_y(\theta) = \begin{bmatrix} \shortremark Cols of $\mat{R}_{WB}$ are basis vec. of Frame $\underset{\rightarrow}{\cF}{_B}$ in $\underset{\rightarrow}{\cF}{_W}$ -\shortdefinition[Euler Angles] Yaw ($z$), Pitch ($y$), Roll ($x$), mult. rotation matrices, e.g. -$\mat{R}_{EB} = \mat{R}_z(\psi) \cdot \mat{R}_y(\theta) \cdot \mat{R}_x(\varphi)$, \hl{bound.}. -$\qquad [\vec{n}]^\times = \vec{n} \vec{x}^\top$ (matrix from vec + arg $\vec{x}$) +\shortdefinition[Euler Ang] (Tait-Brian) $\mat{R}_{EB} = \mat{R}_z(\psi) \cdot \mat{R}_y(\theta) \cdot \mat{R}_x(\varphi)$. +$\begin{smallmatrix} + \psi = \arcsin\left( R_{21} \div \sqrt{1 - R_{31}^2} \right)\\ + \theta = \arcsin(-R_{31})\\ + \varphi = \arcsin\left( R_{31} \div \sqrt{1 - R_{31}^2} \right)\\ + \end{smallmatrix}$ +{\scriptsize +$[\vec{n}]^\times = \begin{bmatrix} + 0 & -a_3 & a_2 \\ + a_3 & 0 & -a_1 \\ + -a_2 & a_1 & 0 + \end{bmatrix}$ +} \shortdefinition[Rot. Vec] -$\vec{\alpha} = \alpha \vec{n}$ ($\vec{n}$ normal)\\ +$\vec{\alpha} = \alpha \vec{n}$ ($\vec{n}$ normal); Convert to rot. mat\\ $\mat{R}(\alpha, \vec{n}) = \mat{I}_3 + \sin(\alpha)[\vec{n}]^\times + (1 - \cos(\alpha))([\vec{n}]^\times)^2$ -\shortdefinition[Quaternions] $q = q_w + q_x i + q_y j + q_z k$ with\\ -$i^2 = j^2 = k^2 = -1$, ($ij = -ji = k$, same for $jk$ and $ki$) -% TODO: Finish this -\shortdefinition[Transf. M] $\mat{T}_{AB} = \begin{bmatrix} - \mat{R}_{AB} & {_A}\vec{t}_B \\ - \mat{0}_{1\times 3} & 1 - \end{bmatrix}$\\ -$\mat{T}_{BA} = \mat{T}_{AB}^{-1} = - \begin{bmatrix} - \mat{R}_{AB}^\top & -\mat{R}_{AB}^\top {_A}\vec{t}_B \\ - \mat{0}_{1 \times 3} & 1 - \end{bmatrix}$ -$\mat{T}_{AC} = \mat{T}_{AB} \mat{T}_{BC}$ +\shortdefinition[Quaternions] $q = q_w + q_x i + q_y j + q_z k$ with\\ +$i^2 = j^2 = k^2 = -1$, ($ij = -ji = k$, same for $jk$ and $ki$). + +$\vec{q} = \begin{bmatrix} + \vec{v}(\vec{q}), a(\vec{q}) + \end{bmatrix}^\top$, $a(\vec{q}) = q_w$, Add like $\C$ (by ``groups'') + +\bi{Mult} {\scriptsize + $\vec{q} \otimes \vec{p} = \begin{bmatrix} + a(\vec{q}) \vec{v}(\vec{p}) + a(\vec{p}) + \vec{v}(\vec{q}) \times \vec{v}(\vec{p}) \\ + a(\vec{q}) a(\vec{p}) - \vec{v}(\vec{q})^\top \vec{v}(\vec{p}) + \end{bmatrix}$ +} + +\bi{To Rot Mat} {\scriptsize + $R_{AB} = \mat{I}_3 + 2a(\vec{q}_{AB}) [\vec{v}(\vec{q}_{AB})]^\times + 2([\vec{v}(\vec{q}_{AB})]^\times)^2$ +} + + +\shortdefinition[Transf. M] +{\scriptsize + $\mat{T}_{AC} = \mat{T}_{AB} \mat{T}_{BC}$ R.-Handed typ; Aero: Left-H\\ + $\mat{T}_{AB} = \begin{bmatrix} + \mat{R}_{AB} & {_A}\vec{t}_B \\ + \mat{0}_{1\times 3} & 1 + \end{bmatrix}; + \mat{T}_{BA} = \mat{T}_{AB}^{-1} = + \begin{bmatrix} + \mat{R}_{AB}^\top & -\mat{R}_{AB}^\top {_A}\vec{t}_B \\ + \mat{0}_{1 \times 3} & 1 + \end{bmatrix}$ +} diff --git a/electives/amr/parts/01_kinematics/01_forward.tex b/electives/amr/parts/01_kinematics/01_forward.tex index b8c51e5..bbf1e70 100644 --- a/electives/amr/parts/01_kinematics/01_forward.tex +++ b/electives/amr/parts/01_kinematics/01_forward.tex @@ -1,8 +1,12 @@ \subsection{Forward Kinematics (FK)} -$T_{WB_n}(\theta) = \mat{T}_{WB_0} \mat{T}_{B_0B_1}(\theta_1) \cdots \mat{T}_{B_{n - 1}B_n}(\theta_n)$.\\ -For 2R system: ${_W}\vec{t}_{WE} = \begin{bmatrix} - L_1 \cos(\theta_1) + L_2 \cos(\theta_1 + \theta_2)\\ - L_1 \sin(\theta_1) + L_2 \sin(\theta_1 + \theta_2) -\end{bmatrix}$\\ +$\mat{T}_{WB_n}(\theta) = \mat{T}_{WB_0} \mat{T}_{B_0B_1}(\theta_1) \cdots \mat{T}_{B_{n - 1}B_n}(\theta_n)$.\\ +For 2R system: +${_W}\vec{t}_{WE} =$ +{\scriptsize +$ \begin{bmatrix} + L_1 \cos(\theta_1) + L_2 \cos(\theta_1 + \theta_2) \\ + L_1 \sin(\theta_1) + L_2 \sin(\theta_1 + \theta_2) + \end{bmatrix}$\\ +} With workspace (pos) $W$ for $\theta_1, \theta_2 \in [-\pi, \pi]$ % TODO: Example? (w02s42 possibly)