diff --git a/electives/others/amr/assets/inverse-kinematics.png b/electives/others/amr/assets/inverse-kinematics.png new file mode 100644 index 0000000..2a8e88f Binary files /dev/null and b/electives/others/amr/assets/inverse-kinematics.png differ diff --git a/electives/others/amr/autonomous-mobile-robots-cheatsheet.pdf b/electives/others/amr/autonomous-mobile-robots-cheatsheet.pdf index c8a06dc..bbc0c0f 100644 Binary files a/electives/others/amr/autonomous-mobile-robots-cheatsheet.pdf and b/electives/others/amr/autonomous-mobile-robots-cheatsheet.pdf differ diff --git a/electives/others/amr/autonomous-mobile-robots-cheatsheet.tex b/electives/others/amr/autonomous-mobile-robots-cheatsheet.tex index 9a8d09f..2966b04 100644 --- a/electives/others/amr/autonomous-mobile-robots-cheatsheet.tex +++ b/electives/others/amr/autonomous-mobile-robots-cheatsheet.tex @@ -35,12 +35,17 @@ \end{center} +% TODO: Graphics \section{Introduction} \input{parts/00_basics/00_probability.tex} \input{parts/00_basics/01_measurement-models.tex} +\input{parts/00_basics/02_trigonometry.tex} \section{Locomotion \& Kinematics} \input{parts/01_kinematics/00_intro.tex} +\input{parts/01_kinematics/01_forward.tex} +\input{parts/01_kinematics/02_inverse.tex} +% \input{parts/01_kinematics/} \end{document} diff --git a/electives/others/amr/parts/00_basics/02_trigonometry.tex b/electives/others/amr/parts/00_basics/02_trigonometry.tex new file mode 100644 index 0000000..33a8064 --- /dev/null +++ b/electives/others/amr/parts/00_basics/02_trigonometry.tex @@ -0,0 +1,3 @@ +\subsection{Trigonometry} +% TODO: Cosine rule (at least), probably also sine rule. +% TODO: Add convenient results (such as cos2 + sin2 = 1) diff --git a/electives/others/amr/parts/01_kinematics/01_forward.tex b/electives/others/amr/parts/01_kinematics/01_forward.tex new file mode 100644 index 0000000..b8c51e5 --- /dev/null +++ b/electives/others/amr/parts/01_kinematics/01_forward.tex @@ -0,0 +1,8 @@ +\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}$\\ +With workspace (pos) $W$ for $\theta_1, \theta_2 \in [-\pi, \pi]$ +% TODO: Example? (w02s42 possibly) diff --git a/electives/others/amr/parts/01_kinematics/02_inverse.tex b/electives/others/amr/parts/01_kinematics/02_inverse.tex new file mode 100644 index 0000000..c75f80a --- /dev/null +++ b/electives/others/amr/parts/01_kinematics/02_inverse.tex @@ -0,0 +1,15 @@ +\subsection{Inverse Kinematics (IK)} +\begin{wrapfigure}[10]{r}{0.4\columnwidth} + \includegraphics[width=0.4\columnwidth]{assets/inverse-kinematics.png} +\end{wrapfigure} +Option: Solve Forward Kinematics for angles.\\ +Better: Law of cosine with polar coordinates. Compute angle using cosine rule,\\ +$\theta_1 = \phi \pm \alpha$, $\theta_2 = \pm(\pi - \beta)$ + +(Positive for {\color{ForestGreen} Elbow Down}, Negative for {\color{red} Elbow Up}) + +Extension to 6R: +1. Waist: spherical coords (2 sol.)\\ +2. 2 sols from 2R for shoulder + elbow\\ +3. Solve for wrist joints (no influence on pos) +