NivaarExam PrepOfficial exam papers ↗

22-Mec-B12 Robotics · December 2019

Question 1 of 7: Mapping a point and a free vector between frames

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

Notes on this paper

Paper format. National Exams, December 2019 — 16-Mec-B12 Robot Mechanics. Three hours; CLOSED BOOK with one 8.5″×11″ two-sided formula sheet and an approved Casio or Sharp calculator. Five questions constitute a complete paper: Section 1 holds five questions of which the candidate answers any three, and Section 2 holds two questions which are both compulsory. Each question is worth 20 marks. All seven questions are solved here.

Reference texts.

Note. Where the printed paper rounds a value (for example the target height 1.707), the solution says so explicitly.

Question 1: Mapping a point and a free 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 describing frame {B} relative to frame {A}, one point expressed in {A} and one velocity expressed in {B}.

Given data
QuantitySymbolValue
Point, referenced to {A}$^{A}P$$[10,\,-4,\,3]^{T}$
Velocity, referenced to {B}$^{B}V$$[15,\,5,\,20]^{T}$
Rotation block of $^{A}_{B}T$$^{A}_{B}R$$\begin{bmatrix}0.5 & 0 & -0.8660\\ -0.8660 & 0 & -0.5\\ 0 & 1 & 0\end{bmatrix}$
Translation block of $^{A}_{B}T$$^{A}P_{BORG}$$[5,\,-5\sqrt3,\,5]^{T}=[5,\,-8.6603,\,5]^{T}$

Find. The same point written in frame {B}, and the same velocity written in frame {A}.

Frame {A} = the reference frameXZYAtranslation p = (5, −5√3, 5)Frame {B} = the described frameXZYBfree vector V: only therotation acts on it
Frame {B} is described relative to frame {A}. A point carries the translation as well as the rotation; a free vector such as a velocity carries only the rotation.

Approach. Invert $^{A}_{B}T$ in closed form to map the point the “wrong way” along the arrow, then rotate the velocity with the rotation block alone, because a velocity is a free vector and has no point of application.

  1. Confirm the rotation block really is a rotation. The three columns of $^{A}_{B}R$ are the axes $\hat X_B,\hat Y_B,\hat Z_B$ written in {A}, so each must be a unit vector and the three must be mutually orthogonal. $\|[0.5,-0.8660,0]\|=\sqrt{0.25+0.75}=1$, $\|[0,0,1]\|=1$, $\|[-0.8660,-0.5,0]\|=1$, and every pairwise dot product vanishes ($0.5(-0.8660)+(-0.8660)(-0.5)=0$). Finally $\det{}^{A}_{B}R=+1$, so the matrix is a proper rotation (the columns are in fact a rotation of $-60^\circ$ about a skewed axis, but the numeric test is what matters).
  2. Write the closed-form inverse. For any homogeneous transform the inverse is not a general 4×4 matrix inversion; it is $$^{B}_{A}T=\begin{bmatrix}^{A}_{B}R^{T} & -{}^{A}_{B}R^{T}\,{}^{A}P_{BORG}\\ 0\;0\;0 & 1\end{bmatrix}.$$ Transposing gives $$^{A}_{B}R^{T}=\begin{bmatrix}0.5 & -0.8660 & 0\\ 0 & 0 & 1\\ -0.8660 & -0.5 & 0\end{bmatrix}.$$
  3. Form the inverse translation. With $^{A}P_{BORG}=[5,\,-5\sqrt3,\,5]^{T}$, $$^{A}_{B}R^{T}\,{}^{A}P_{BORG}=\begin{bmatrix}0.5(5)+(-0.8660)(-8.6603)\\ 5\\ (-0.8660)(5)+(-0.5)(-8.6603)\end{bmatrix}=\begin{bmatrix}10\\ 5\\ 0\end{bmatrix},$$ so $\boxed{^{B}P_{AORG}=-{}^{A}_{B}R^{T}\,{}^{A}P_{BORG}=[-10,\,-5,\,0]^{T}}$. The exact cancellation in the third row is a useful arithmetic check: $-\tfrac{\sqrt3}{2}(5)+\tfrac{1}{2}(5\sqrt3)=0$.
  4. (a) Map the point. Applying the inverse to $^{A}P$, $$^{B}P={}^{A}_{B}R^{T}\,{}^{A}P+{}^{B}P_{AORG}=\begin{bmatrix}8.4641\\ 3\\ -6.6603\end{bmatrix}+\begin{bmatrix}-10\\ -5\\ 0\end{bmatrix},$$ giving $$\boxed{^{B}P=[-1.536,\;-2.000,\;-6.660]^{T}}.$$
  5. Check the point by pushing it back. $^{A}_{B}T\,[-1.536,-2.000,-6.660,1]^{T}=[10,-4,3,1]^{T}$, which reproduces the given $^{A}P$ exactly, so the inverse was formed correctly.
  6. (b) Rotate the free vector. A velocity has magnitude and direction but no location, so the translation column must be ignored: $$^{A}V={}^{A}_{B}R\;{}^{B}V=\begin{bmatrix}0.5(15)+0(5)-0.8660(20)\\ -0.8660(15)+0(5)-0.5(20)\\ 0(15)+1(5)+0(20)\end{bmatrix},$$ hence $$\boxed{^{A}V=[-9.821,\;-22.990,\;5.000]^{T}}.$$
  7. Check the velocity by its magnitude. A rotation preserves length, so $\|{}^{A}V\|$ must equal $\|{}^{B}V\|=\sqrt{15^2+5^2+20^2}=\sqrt{650}=25.495$. Indeed $\sqrt{9.821^2+22.990^2+5.000^2}=25.495$. Had the translation been included by mistake the answer would have been $[-4.821,-31.651,10.000]^{T}$, whose norm is $33.6$ — the failed length check is exactly how that error is caught.
Final results
QuantitySymbolValue
Position vector referenced to {B}$^{B}P$$[-1.536,\;-2.000,\;-6.660]^{T}$
Velocity vector referenced to {A}$^{A}V$$[-9.821,\;-22.990,\;5.000]^{T}$
Origin of {A} seen from {B} (intermediate)$^{B}P_{AORG}$$[-10,\;-5,\;0]^{T}$
Magnitude check on the velocity$\|V\|$$25.495$ (unchanged)
← Paper overview