ENG-654 · Session 1 · Lecture 1
Frames, Transformations & DH Modelling
How do we turn robot geometry into a reproducible kinematic model?
We will move from coordinates, to rigid transformations, to a DH model—and finish by checking that the mathematics reproduces the physical robot.
Act I · Coordinates require frames
Notation is part of the model
Before calculating, we must distinguish physical objects, coordinate vectors, and the frames in which those coordinates are expressed.
\(W\) is the fixed world—or reference—frame.
\(B\) is a moving body frame.
\(A,B,C\) denote generic frames when no frame is privileged as world.
\(P\) names one physical point in space.
\(\mathbf p\) is a point-coordinate vector; \(\mathbf v\) is a direction vector.
In \({}^{W}\mathbf p_{P}\), the left superscript says “expressed in \(W\),” while the subscript identifies point \(P\).
A tilde, as in \(\widetilde{\mathbf p}\), marks the four-coordinate homogeneous representation.
\({}^{W}\mathbf t_{B}\) locates the origin of \(B\), expressed in \(W\).
\({}^{W}R_{B}\) is the orientation of \(B\) expressed in \(W\).
\({}^{W}T_{B}\) is the coordinate map from frame \(B\) to frame \(W\).
Act I · Coordinates require frames
Coordinates need a reference frame
A list of numbers locates a point only after an origin and a basis have been specified.
The numbers \([0.4,\,0.2,\,0.1]^T\) do not locate a point by themselves.
We must know the origin from which the coordinates are measured.
We must know the directions of the three basis axes.
The same physical point therefore has different coordinate vectors in different frames.
An origin plus an ordered, right-handed orthonormal basis \((\hat x,\hat y,\hat z)\).
Act I · Observe
One point, two coordinate descriptions
Move frame \(B\) and observe how the coordinates change even though point \(P\) remains fixed relative to that frame.
Takeaway: coordinates change when the observer changes; the physical geometry does not.
Act I · Orientation
Reading a rotation matrix
The columns of a rotation matrix are the moving frame’s basis axes written in the reference frame.
The matrix \({}^{A}R_B\) answers: “How are the axes of \(B\) oriented when observed from \(A\)?”
Takeaway: interpret the columns geometrically before memorizing matrix identities.
Act II · Rotation is not enough
Points and directions are different objects
A fourth coordinate lets projective geometry distinguish a located point from a direction with no finite position.
Projective 3-space uses four coordinates, with the last coordinate denoted by \(w\).
The tilde marks a homogeneous representation; \(\mathbf p,\mathbf v\in\mathbb R^3\).
Every nonzero scalar multiple represents the same projective point: \[ [x:y:z:w]=[\lambda x:\lambda y:\lambda z:\lambda w], \qquad \lambda\neq0. \]
A finite point has \(w\neq0\) and can be normalized to \(w=1\).
A direction has \(w=0\), so it lies at infinity and has no finite location.
Act II · The missing operation
Why a rotation matrix cannot translate
Every \(3\times3\) linear map fixes the origin, while a nonzero translation must move it.
A \(3\times3\) rotation matrix \(R\) is linear and orthogonal:
Every linear map must keep the origin fixed.
A translation by \(\mathbf t\) is affine:
If \(\mathbf t\neq\mathbf0\), no \(3\times3\) linear—or orthogonal—matrix can perform this operation.
Act II · Derivation
Deriving the homogeneous transform
Lifting a 3D point to four coordinates converts the affine rotation-plus-translation rule into one linear matrix multiplication.
Let \({}^{W}\mathbf t_{B}\) be the position of the origin of \(B\), expressed in \(W\). Then
Rotation is linear; translation is the added offset.
Append \(1\) to each point and choose the last row so that the fourth coordinate remains \(1\):
Act II · Result
One matrix stores a complete frame pose
The rotation block describes the basis; the translation block locates the origin; the bottom row preserves homogeneous points.
Rotation: how the axes of B are oriented when seen from A.
Translation: where the origin of B is located when measured in A.
Bottom row: lets rotation and translation be composed by one matrix product.
Act II · Meaning
A frame transform changes coordinates, not geometry
Multiplying by \({}^{A}T_B\) re-expresses the same point from frame \(B\) in frame \(A\).
If the coordinates of P are known in frame B, then
The coordinate vector changes.
The physical point does not.
This distinction is essential when reading robot models.
“Coordinates in \(B\), mapped into coordinates in \(A\).”
We can now relate two frames. A robot requires us to connect an entire chain of them.
Act III · A robot is a chain of transforms
Composing transformations
Compatible frame labels tell us which maps can be multiplied and which intermediate coordinates disappear.
reference
intermediate
target
Takeaway: the repeated frame \(B\) is the compatible intermediate coordinate system.
Act III · Order matters
Transformation order changes the result
Rotating then translating generally produces a different pose from translating then rotating.
Translate along the already rotated x-direction.
Translate first, then rotate the body about its new origin.
Act III · From one link to a robot
Forward kinematics is repeated composition
Each joint contributes one relative transform; their ordered product gives the tool pose.
For a serial robot, each joint contributes one relative transform.
Input: joint coordinates \\(q\\).
Output: tool position and orientation.
Open problem: where should each link frame be placed so that different people build the same model?
Composition solves the chain problem, but not the frame-placement problem. We now need a convention.
Act IV · Frame placement needs a convention
Why we need the DH convention
Restricting the placement of consecutive frames turns an arbitrary six-parameter pose into a reproducible four-parameter link model.
A completely free rigid transform has six degrees of freedom.
That freedom is useful, but it makes a serial robot difficult to tabulate consistently.
DH chooses consecutive frames around the joint axes and common normal so that only four numbers remain.
Act IV · Standard DH
One DH row means four ordered motions
The parameter values and their multiplication order jointly define the relative pose from frame \(i-1\) to frame \(i\).
The order is part of the convention. Mixing conventions produces a different model.
Act IV · Geometric interpretation
Reading the four DH parameters
Each parameter measures either separation or alignment between two consecutive joint axes.
How far apart are the two joint axes along their common normal?
How much must one joint axis twist about the common normal to align with the next?
How far do we move along \\(z_{i-1}\\) before reaching the common normal?
How much do we rotate about \\(z_{i-1}\\) before the common normal is aligned?
Act IV · Experiment
Build and test a DH frame assignment
Change the four parameters, compare frames, and test whether a selected pair can be represented by one standard-DH row.
Takeaway: DH parameters describe a constrained relationship between deliberately assigned consecutive frames.
Act IV · Falsification
Not every frame pair is one DH step
A general rigid transform has six degrees of freedom, so an arbitrary pair usually cannot satisfy the four-parameter standard-DH structure exactly.
The playground computes the best standard-DH decomposition of \\({}^{A}T_B\\).
If the residual \\(\|{}^{A}T_B-\widehat T_{DH}\|\\) is not near zero, the selected frame pair does not satisfy the standard-DH placement constraints.
Act V · Validate the model
Two representations of the custom-3R robot
The URDF/STL model describes the physical link tree; the DH model describes an equivalent chain of frame transformations.
Act V · Establish equivalence
The compact DH model
Three DH rows plus one fixed base transform reproduce the custom-3R tool pose.
| i | \\(a_i\\) [m] | \\(\alpha_i\\) | \\(d_i\\) [m] | \\(\theta_i\\) |
|---|---|---|---|---|
| 1 | 1.00 | −90° | 0.00 | \\(q_1\\) |
| 2 | 2.00 | +90° | 1.25 | \\(q_2\\) |
| 3 | 1.50 | 0° | 0.25 | \\(q_3\\) |
The DH origin does not have to coincide with the URDF joint-origin point; it only has to lie on the same physical revolute axis and satisfy the DH frame convention.
Act V · Evidence
Validate before you trust the model
Equivalent models must produce the same position and orientation—not only at zero, but across representative joint configurations.
For several configurations \\(q^{(k)}\\), compute the tool pose from every representation you claim is equivalent.
Check the zero configuration first.
Then test random joint configurations.
Compare both position and orientation residuals.
Frame-sign and zero-offset mistakes often look plausible until this test.
Synthesis · Answering the opening question
From physical geometry to a trustworthy model
A reproducible robot model emerges from explicit frame notation, compatible transformation composition, a consistent frame convention, and numerical validation.