NivaarExam PrepOfficial exam papers ↗

22-Mec-B12 Robotics · December 2018

Question 2 of 7: Mapping a position vector and a velocity vector between frames (20 marks)

Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)

Notes on this paper

Paper format. National Exams, December 2018 — 16-Mec-B12 Robotics. Closed book, three hours, one 8.5″×11″ two-sided formula sheet and an approved Casio or Sharp calculator permitted. Seven questions, each of equal value (20 marks); the rubric states that five questions constitute a complete paper and that only the first five in the answer book are marked. As a study resource all seven are solved here. Marks shown in parentheses are the printed sub-part values.

Notation. The paper's own nomenclature is used throughout: $\hat{X}_A,\hat{Y}_A,\hat{Z}_A$ are the unit vectors of frame $\{A\}$; a leading superscript as in ${}^{A}V$ names the frame the vector is referenced to; and ${}^{B}_{A}T$ is the transform of frame $\{A\}$ expressed relative to $\{B\}$. This is Craig's convention, so Craig's modified (distal) Denavit–Hartenberg parameters are used for the link tables.

Reference texts.

Question 2: Mapping a position vector and a velocity vector between frames (20 marks)

Question text not reproduced: the examination questions are © Engineers and Geoscientists BC. Open the official past paper (linked at the top of this page) to read the question, then follow the worked solution below.

Given. One homogeneous transform and two vectors, one referenced to each frame.

Given data
QuantitySymbolValue
Point, in $\{A\}$${}^{A}P$$[10,\ -4,\ 3]^{T}$
Velocity, in $\{B\}$${}^{B}V$$[15,\ 5,\ 20]^{T}$
Rotation part${}^{A}_{B}R$rows $(0.5,\,0,\,-0.8660)$, $(-0.8660,\,0,\,-0.5)$, $(0,\,1,\,0)$
Translation part${}^{A}P_{B\,\text{ORG}}$$[5,\ -5\sqrt{3},\ 5]^{T} = [5,\ -8.6603,\ 5]^{T}$

Find. (a) the same point referenced to $\{B\}$, and (b) the same velocity referenced to $\{A\}$.

XYZ{A}XYZ{B}translation part of TPP depends on BOTH rotation and translationV is a FREE vector: the same arrow anywhere,so only the rotation acts on it
Figure 2.1 — a point is tied to an origin, so mapping it uses the rotation and the translation; a velocity is a free vector, so only the rotation acts on it.

Approach. Invert the given transform in closed form to get ${}^{B}_{A}T$ for part (a); for part (b) recognise that a velocity is a free vector and apply the rotation block alone.

  1. Split the transform and confirm it is rigid. Writing $$ {}^{A}_{B}T = \begin{bmatrix} {}^{A}_{B}R & {}^{A}P_{B\,\text{ORG}} \\ 0\ 0\ 0 & 1 \end{bmatrix}, $$ the columns of ${}^{A}_{B}R$ have unit length and zero mutual dot products and $\det {}^{A}_{B}R = +1$, so the array is a genuine rigid-body transform and the closed-form inverse below is legitimate.
  2. Invert without a numerical matrix inversion. For any homogeneous transform the inverse is available in closed form, $$ {}^{B}_{A}T = \left({}^{A}_{B}T\right)^{-1} = \begin{bmatrix} {}^{A}_{B}R^{T} & -{}^{A}_{B}R^{T}\,{}^{A}P_{B\,\text{ORG}} \\ 0\ 0\ 0 & 1\end{bmatrix}, $$ because the rotation block is orthogonal. Gaussian elimination on the 4×4 is never needed and is the usual source of arithmetic slips under exam conditions.
  3. Apply the inverse to the point. First subtract the origin offset, $$ {}^{A}P - {}^{A}P_{B\,\text{ORG}} = \begin{bmatrix}10\\-4\\3\end{bmatrix}-\begin{bmatrix}5\\-5\sqrt{3}\\5\end{bmatrix} = \begin{bmatrix}5\\ 5\sqrt{3}-4\\ -2\end{bmatrix} = \begin{bmatrix}5\\ 4.6603\\ -2\end{bmatrix}, $$ then rotate the difference into $\{B\}$ with ${}^{A}_{B}R^{T}$ (whose rows are the columns of ${}^{A}_{B}R$): $$ {}^{B}P = \begin{bmatrix} 0.5 & -0.8660 & 0 \\ 0 & 0 & 1 \\ -0.8660 & -0.5 & 0 \end{bmatrix}\begin{bmatrix}5\\ 4.6603\\ -2\end{bmatrix} = \boxed{\begin{bmatrix} -1.5359 \\ -2.0000 \\ -6.6603 \end{bmatrix}}. $$ In exact form this is $[2\sqrt{3}-5,\ -2,\ 2-5\sqrt{3}]^{T}$.
  4. Check part (a) by mapping back. Substituting the answer into the original transform, ${}^{A}_{B}T\,{}^{B}P + $ the translation returns $[10,\,-4,\,3]^{T}$ exactly, so the inverse was formed and applied correctly.
  5. Treat the velocity as a free vector. A velocity has magnitude and direction but no point of application, so translating the frame origin cannot change it. Only the rotation block acts: $$ {}^{A}V = {}^{A}_{B}R\ {}^{B}V = \begin{bmatrix} 0.5 & 0 & -0.8660 \\ -0.8660 & 0 & -0.5 \\ 0 & 1 & 0 \end{bmatrix}\begin{bmatrix}15\\5\\20\end{bmatrix} = \boxed{\begin{bmatrix} -9.8205 \\ -22.9904 \\ 5.0000 \end{bmatrix}}. $$
  6. Check part (b) with the invariant. A pure rotation preserves length: $\|{}^{B}V\| = \sqrt{15^{2}+5^{2}+20^{2}} = 25.4951$ and $\|{}^{A}V\| = \sqrt{9.8205^{2}+22.9904^{2}+5^{2}} = 25.4951$. Had the translation been applied by mistake, the magnitude would have changed and the error would have been caught here.
Question 2 — results
PartQuantityResult
(a)${}^{B}P$$[-1.5359,\ -2.0000,\ -6.6603]^{T}$
(a)exact form$[2\sqrt{3}-5,\ -2,\ 2-5\sqrt{3}]^{T}$
(b)${}^{A}V$$[-9.8205,\ -22.9904,\ 5.0000]^{T}$
(b)$\|V\|$ before and after$25.4951$ (preserved)