NivaarExam PrepOfficial exam papers ↗

22-Mec-B12 Robotics · December 2019

Question 6 of 7: Link frames, DH table and link transforms for a 3-DOF arm

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 6: Link frames, DH table and link transforms for a 3-DOF arm (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. A three-revolute arm whose geometry is fixed by the stated axis relationships and the four dimensions marked on Figure 3.

Given data
QuantitySymbolValue
Joint 1$\theta_{1}$revolute about the vertical base axis
Joint 2$\theta_{2}$revolute, axis horizontal and perpendicular to joint 1, intersecting it
Joint 3$\theta_{3}$revolute, axis parallel to joint 2
Height of the joint-2 axis above the base$L_{1}$as marked in Figure 3
Distance between the joint-2 and joint-3 axes$L_{2}$as marked
Joint-3 axis to the wrist, and wrist to the tool point$L_{3},\,L_{4}$as marked (tool frame only)

Find. A consistent set of link frames {0}–{3}, the DH table they generate, and the three link transforms.

θ₁joint-1 axis: verticaljoints 2 and 3: axes out of the page{T}Z₂Z₃L₁L₂L₃ + L₄Z₀ = Z₁X₀ = X₁ = X₂X₃Y₃Link frames {0}–{3} attached to the arm of Figure 3, shown in the zero configuration
Part (a): link frames attached to the arm in the zero configuration. $Z_0=Z_1$ runs up the joint-1 axis; $Z_2$ and $Z_3$ point out of the page along the parallel joint-2 and joint-3 axes; $X_0=X_1=X_2$ and $X_3$ run outward along the arm.

Approach. Place $\hat Z_{i}$ on joint axis $i$, take $\hat X_{i}$ along the common normal from $\hat Z_{i}$ to $\hat Z_{i+1}$, and read the four DH parameters of each row straight off the resulting picture. Then substitute them into the standard modified-DH link transform.

  1. (a) Attach $\hat Z$ to every joint axis. $\hat Z_{1}$ points up along the vertical joint-1 axis. $\hat Z_{2}$ lies along the joint-2 axis, which is horizontal and cuts the joint-1 axis at height $L_{1}$; the sense is chosen so that a positive $\theta_{2}$ lifts the arm, matching the sense drawn on Figure 3. $\hat Z_{3}$ is parallel to $\hat Z_{2}$, on the joint-3 axis a distance $L_{2}$ out along the arm.
  2. Attach $\hat X$ along the common normals. $\hat Z_{1}$ and $\hat Z_{2}$ intersect, so the common normal has zero length and $\hat X_{1}$ is simply the direction perpendicular to both, $\hat X_{1}=\hat Z_{1}\times\hat Z_{2}$, which points outward along the arm. $\hat Z_{2}$ and $\hat Z_{3}$ are parallel, so their common normal is the segment joining them and $\hat X_{2}$ also points outward along the arm. $\hat X_{3}$ continues outward toward the tool. In the drawn zero configuration all three $\hat X$ axes are parallel, which is precisely what makes $\theta_{2}=\theta_{3}=0$ there.
  3. Fix the base frame {0}. Frame {0} is placed on the joint-1 axis at the base with $\hat Z_{0}=\hat Z_{1}$ and $\hat X_{0}=\hat X_{1}$ when $\theta_{1}=0$; the only difference from {1} is the height $L_{1}$, which appears as $d_{1}$. (Craig’s narrower convention would slide {0} up to the joint-2 height so that $d_{1}=0$ and carry $L_{1}$ in the station transform $^{S}_{0}T$ instead. Either is acceptable; keeping $d_{1}=L_{1}$ has the advantage that every dimension marked on the figure appears somewhere in the model.)
  4. (b) Read the DH table. With $\alpha_{i-1}$ the twist from $\hat Z_{i-1}$ to $\hat Z_{i}$ about $\hat X_{i-1}$, $a_{i-1}$ the distance along $\hat X_{i-1}$, $d_{i}$ the offset along $\hat Z_{i}$ and $\theta_{i}$ the joint variable, the table is $$\begin{array}{c|cccc} i & \alpha_{i-1} & a_{i-1} & d_{i} & \theta_{i}\\\hline 1 & 0 & 0 & L_{1} & \theta_{1}\\ 2 & 90^\circ & 0 & 0 & \theta_{2}\\ 3 & 0 & L_{2} & 0 & \theta_{3}\end{array}$$ The $90^\circ$ twist in row 2 is the “joints 1 and 2 perpendicular” statement; the zero twist in row 3 is “joints 2 and 3 parallel”; and $a_{1}=0$ records that axes 1 and 2 intersect.
  5. (c) Substitute row 1 into the link transform. With $\alpha_{0}=0$, $a_{0}=0$, $d_{1}=L_{1}$, $$\boxed{^{0}_{1}T=\begin{bmatrix}c_{1} & -s_{1} & 0 & 0\\ s_{1} & c_{1} & 0 & 0\\ 0 & 0 & 1 & L_{1}\\ 0 & 0 & 0 & 1\end{bmatrix}}$$ a pure rotation about the vertical combined with the fixed lift $L_{1}$.
  6. Substitute row 2. With $\alpha_{1}=90^\circ$ ($c\alpha=0$, $s\alpha=1$), $a_{1}=0$ and $d_{2}=0$, $$\boxed{^{1}_{2}T=\begin{bmatrix}c_{2} & -s_{2} & 0 & 0\\ 0 & 0 & -1 & 0\\ s_{2} & c_{2} & 0 & 0\\ 0 & 0 & 0 & 1\end{bmatrix}}$$ The row of zeros with a $-1$ is the tell-tale of the right-angle twist: it maps $\hat Z_{2}$ onto $-\hat Y_{1}$.
  7. Substitute row 3. With $\alpha_{2}=0$, $a_{2}=L_{2}$ and $d_{3}=0$, $$\boxed{^{2}_{3}T=\begin{bmatrix}c_{3} & -s_{3} & 0 & L_{2}\\ s_{3} & c_{3} & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\end{bmatrix}}$$ — the planar form expected for two parallel axes.
  8. Check the frames against the drawing. Multiplying out, $$^{0}P_{3ORG}=\begin{bmatrix}L_{2}c_{1}c_{2}\\ L_{2}s_{1}c_{2}\\ L_{1}+L_{2}s_{2}\end{bmatrix}.$$ At $\Theta=0$ this is $[L_{2},0,L_{1}]^{T}$ — the arm outstretched horizontally at height $L_{1}$, exactly as Figure 3 shows. Setting $\theta_{2}=90^\circ$ raises the joint-3 axis to $[0,0,L_{1}+L_{2}]^{T}$, confirming that the positive sense of $\theta_{2}$ lifts the arm, and $\theta_{1}=90^\circ$ swings it to $[0,L_{2},L_{1}]^{T}$. Note also that $\theta_{3}$ does not appear: the origin of {3} lies on joint axis 3, so joint 3 only reorients frame {3}.
  9. Attach the tool frame (for completeness). Frame {T} sits a further $L_{3}+L_{4}$ along $\hat X_{3}$ with the orientation drawn in Figure 3, so $^{3}_{T}T=\mathrm{Trans}(L_{3}+L_{4},\,0,\,0)$ and $^{0}_{T}T={}^{0}_{1}T\,{}^{1}_{2}T\,{}^{2}_{3}T\,{}^{3}_{T}T$.
Final results
QuantitySymbolValue
Row 1 of the DH table$(\alpha_{0},a_{0},d_{1},\theta_{1})$$(0,\,0,\,L_{1},\,\theta_{1})$
Row 2 of the DH table$(\alpha_{1},a_{1},d_{2},\theta_{2})$$(90^\circ,\,0,\,0,\,\theta_{2})$
Row 3 of the DH table$(\alpha_{2},a_{2},d_{3},\theta_{3})$$(0,\,L_{2},\,0,\,\theta_{3})$
First link transform$^{0}_{1}T$$\begin{bmatrix}c_{1} & -s_{1} & 0 & 0\\ s_{1} & c_{1} & 0 & 0\\ 0 & 0 & 1 & L_{1}\\ 0 & 0 & 0 & 1\end{bmatrix}$
Second link transform$^{1}_{2}T$$\begin{bmatrix}c_{2} & -s_{2} & 0 & 0\\ 0 & 0 & -1 & 0\\ s_{2} & c_{2} & 0 & 0\\ 0 & 0 & 0 & 1\end{bmatrix}$
Third link transform$^{2}_{3}T$$\begin{bmatrix}c_{3} & -s_{3} & 0 & L_{2}\\ s_{3} & c_{3} & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\end{bmatrix}$
Origin of {3} in {0}$^{0}P_{3ORG}$$[L_{2}c_{1}c_{2},\;L_{2}s_{1}c_{2},\;L_{1}+L_{2}s_{2}]^{T}$
Tool transform$^{3}_{T}T$$\mathrm{Trans}(L_{3}+L_{4},\,0,\,0)$