ME3120 · Dynamic Modelling
Theme 4 · Robot geometry · enrichment

DH parameters & 3-D

A short "know it exists" tour: a systematic way to build transforms for big arms, and how the same ideas grow into three dimensions.

Source: course notes, Week 3; Denavit–Hartenberg convention (Spong, Lynch & Park).

Before you start

What you need first

  • Homogeneous transforms and chaining (Topic 17).
  • Forward kinematics by direct geometry (Topic 18).

What you'll take away

  • What DH parameters are and when to use them.
  • How the transform grows to 3-D (\(4\times4\)).
  • That the recipe scales — only the algebra grows.
This is an enrichment topic — a lighter page. The goal is to recognise these ideas when you meet a real industrial arm, not to drill them.

The problem with big arms

For a 2- or 3-link arm, reading positions straight off the geometry (Topic 18) is fast and you see the physics. But a 6-joint industrial arm has six frames to track — by eye it becomes error-prone: a dropped angle here, a wrong axis there.

We need a systematic recipe that builds each joint's transform the same way every time, so nothing gets lost.

A systematic shortcut: DH parameters

Denavit–Hartenberg (DH) parameters are a fixed recipe of four numbers per joint that build each transform \(T\) automatically:

ParameterWhat it describes
link length \(a\)how long the link is
link twist \(\alpha\)the angle between successive joint axes
link offset \(d\)the slide along the joint axis
joint angle \(\theta\)the rotation about the joint axis (the joint variable)
Fill in four numbers for every joint, and the chain \(T_0^n=T_0^1 T_1^2\cdots\) is built for you. DH is bookkeeping — it guarantees you never lose track of a frame on a big arm.

When to reach for DH

Use direct geometry

for 2–3 link arms (what we did in Topic 18) — it is faster and you see the physics.

Use DH

for 5-, 6-, 7-joint arms, where tracking frames by eye becomes error-prone.

🔭 Looking ahead: in this course we mostly derive by direct geometry, and just name DH when we reach the bigger arms. You should recognise it, not memorise the full table-filling rules.

Stepping into 3-D

In 3-D the same ideas grow:

  • rotations now happen about the \(x\), \(y\), or \(z\) axis — three rotation matrices instead of one,
  • the homogeneous transform becomes \(4\times4\): a \(3\times3\) rotation plus a 3-vector shift.
The recipe is identical — rotate, shift, chain — just with bigger matrices.
z x y about z
In 3-D, a body can turn about \(x\), \(y\), or \(z\) — three basic rotations.

The idea scales; the algebra grows

$$T=\begin{bmatrix} R_{3\times3} & \mathbf{d}_{3\times1}\\ \mathbf{0} & 1 \end{bmatrix}$$
where:
BlockMeaning
\(R_{3\times3}\)a 3-D rotation (orientation)
\(\mathbf{d}_{3\times1}\)the shift in space (position)
\([\,\mathbf{0}\ \ 1\,]\)the bottom row \([0\ 0\ 0\ 1]\) (bookkeeping)
Same shape as the 2-D transform from Topic 17 — rotation in the corner, shift up the side — just one size larger. By hand we stay mostly in 2-D (planar arms), where the trig is clean.

✏️ Try it yourself

An engineer must model a 6-joint welding robot. (a) Which method — direct geometry or DH — is the sensible choice, and why? (b) How many DH numbers will the model need in total?

(a) DH — with six frames, tracking them by eye is error-prone; DH's fixed recipe keeps the bookkeeping reliable. (b) Four parameters per joint × 6 joints = 24 numbers.

Recap — the whole topic on one screen

IdeaWhat you take away
DH parameters4 numbers per joint (length, twist, offset, angle) build each \(T\)
When to use themDirect geometry for 2–3 links; DH for 5–7 joints
3-DThree rotation axes; the transform becomes \(4\times4\)
The big pictureRotate → shift → chain, at any size
That closes Theme 4 — Robot geometry. You can now say exactly where each link of an arm is, and how fast it moves — everything the energy method needs.

Next theme

Inertia & building M, C, G

We have positions and velocities. Theme 5 brings in the moment of inertia of a real link, then assembles the heart of the course — the mass matrix \(M(q)\), the Coriolis term \(C(q,\dot q)\), and the gravity term \(G(q)\).

→ Moment of inertia & parallel-axis