Robotics and Kinematics

Chapter 4
Forward Kinematics of Serial Manipulators

Bachelor Program in Mechatronics Engineering
Robotics and Kinematics   •   Bachelor

Forward Kinematics of Serial Manipulators

Introduction and Context

Forward kinematics is the systematic determination of a robot manipulator’s end-effector pose from the values of its joint variables and the known geometry of its links. For a serial manipulator, motion is transmitted through an ordered chain of rigid bodies connected by revolute or prismatic joints. The problem is therefore a composition of coordinate transformations.

If the joint vector is denoted by q = [q1, q2, …, qn]T, forward kinematics seeks a mapping

T0n = f(q1, q2, …, qn)

where T0n is the homogeneous transformation from the base frame {0} to the end-effector frame {n}. It contains both orientation and position. Forward kinematics is fundamental to robot simulation, workspace analysis, trajectory generation, calibration, visual servoing, digital twins, and measurement-based validation.

Unlike inverse kinematics, which asks which joint values produce a desired pose, forward kinematics normally has a unique result for a specified joint configuration, provided the model and coordinate conventions are defined consistently.

Learning Objectives

After studying this chapter, the reader should be able to:

  1. Explain frames, poses, homogeneous transformations, and serial kinematic chains.
  2. Assign link-coordinate frames using the Denavit–Hartenberg (DH) convention.
  3. Construct and multiply homogeneous transformation matrices.
  4. Formulate forward kinematics using the product-of-exponentials (PoE) convention.
  5. Calculate and interpret end-effector position and orientation.
  6. Identify modeling assumptions, singular cases, and common implementation errors.
  7. Validate a kinematic model using simulation and physical measurements.

1. Fundamental Concepts

1.1 Configuration and pose

A robot configuration is the instantaneous set of joint variables. A revolute joint contributes an angular variable, usually measured in radians, while a prismatic joint contributes a linear displacement, usually measured in metres. The configuration space dimension of an n-joint serial robot is generally n, although mechanical constraints can reduce the number of independent variables.

The pose of a rigid body consists of:

  • Position: the coordinates of a reference point, commonly the origin of the end-effector frame.
  • Orientation: the attitude of the body relative to a reference frame.

A rotation matrix R ∈ SO(3) satisfies

RT R = I, det(R) = +1

where I is the 3 × 3 identity matrix. The columns of R are the unit axes of the moving frame expressed in the reference frame. The conditions ensure orthonormal axes and a right-handed coordinate system.

A pose is represented compactly by a homogeneous transformation:

T = [ R p ]
[ 0 1 ]

Here, R is a 3 × 3 rotation matrix, p = [p_x p_y p_z]^T is a 3 × 1 position vector, and the bottom row is [0 0 0 1]. The position components must use consistent length units.

For a point with homogeneous coordinates P = [x\ y\ z\ 1]T,

PA = TAB PB

means that a point expressed in frame B is transformed into frame A. The superscript and subscript notation must be interpreted carefully: TAB maps coordinates from B to A.

1.2 Composition and inversion

If a transformation from frame C to B is followed by one from B to A, then

TAC = TAB TBC

Matrix multiplication is associative but not commutative. Consequently, the order of transformations is physically significant.

The inverse of a rigid-body transformation is

T-1 = [ RT −RT p ]
[ 0 1 ]

because R-1 = RT. This formula assumes that T represents a proper rigid transformation, not a general affine transformation.

1.3 Elementary transformations

Rotation about the z-axis through angle θ is

Rz(θ) = [ cosθ −sinθ 0 ]
[ sinθ cosθ 0 ]
[ 0 0 1 ]

Rotation about the x-axis through angle α is

Rx(α) = [ 1 0 0 ]
[ 0 cosα −sinα ]
[ 0 sinα cosα ]

A translation along z by d and along x by a are represented by Tz(d) and Tx(a). In homogeneous form, the standard DH transformation combines these four elementary operations.

2. Denavit–Hartenberg Modeling

2.1 Purpose of the DH convention

The DH convention reduces the description of each joint-to-joint transformation to four parameters. It is especially useful for serial manipulators with one degree of freedom per joint. The parameters describe the geometry between two successive joint axes:

ParameterMeaningTypical unit
θ_iJoint rotation about z_{i−1}rad or °
d_iTranslation along z_{i−1}m
a_iCommon-normal length along x_im
α_iTwist from z_{i−1} to z_i about x_irad or °

In the conventional DH assignment, z_{i−1} is aligned with joint i’s axis. The x_i axis lies along the common normal between z_{i−1} and z_i. The origin is placed at the intersection of x_i with z_i, or at a suitable closest-point construction when the axes do not intersect.

Frame assignment is not arbitrary if the standard DH algorithm is to be used. Ambiguity may remain when axes intersect, are parallel, or when a base or tool frame is selected, but any such choice must be documented.

2.2 Standard DH transformation

The standard DH transformation from frame {i−1} to frame {i} is

Ai = Tz(θi) Tz(di) Tx(ai) Tx(αi)

with matrix form

Ai = [ cθi −sθi cαi sθi sαi ai cθi ]
[ sθi cθi cαi −cθi sαi ai sθi ]
[ 0 sαi cαi di ]
[ 0 0 0 1 ]

where cθ_i = cos θ_i, sθ_i = sin θ_i, cα_i = cos α_i, and sα_i = sin α_i. For a revolute joint, θ_i varies and d_i is constant. For a prismatic joint, d_i varies and θ_i is constant. The parameter a_i and α_i are geometric constants for a particular robot.

The forward-kinematic chain is

T0n(q) = A1(q1) A2(q2) … An(qn)

A fixed tool transformation may be included as

T0E(q) = T0n(q) TnE

where TnE describes the tool centre point relative to the last link frame.

2.3 Modified DH convention

The modified DH convention places transformations differently, commonly expressing the link transformation as

Ai = Tx(ai−1) Tx(αi−1) Tz(di) Tz(θi)

The exact matrix differs from the standard convention. Neither convention is inherently more correct. The critical requirement is to use one convention consistently for frame assignment, parameter tables, software implementation, and interpretation. A standard-DH table cannot be inserted into modified-DH equations without reassigning frames.

3. Worked Example: Planar Two-Revolute Manipulator

Consider a planar 2R robot with link lengths l_1 = 0.60 m and l_2 = 0.40 m. Both joints rotate about parallel z-axes, so α_1 = α_2 = 0 and d_1 = d_2 = 0. Let θ_1 = 30° and θ_2 = 45°.

For this robot,

A1 = Tz(θ1) Tx(l1)
A2 = Tz(θ2) Tx(l2)

The end-effector transformation is

T02 = A1 A2

The position is

x = l1 cosθ1 + l2 cos(θ1 + θ2)

y = l1 sinθ1 + l2 sin(θ1 + θ2)

The orientation about z is

φ = θ1 + θ2

Using cos 30° ≈ 0.8660, sin 30° = 0.5000, cos 75° ≈ 0.2588, and sin 75° ≈ 0.9659,

x ≈ 0.60(0.8660) + 0.40(0.2588) = 0.6238 m

y ≈ 0.60(0.5000) + 0.40(0.9659) = 0.6864 m

Therefore,

T02 ≈ [ 0.2588 −0.9659 0 0.6238 ]
[ 0.9659 0.2588 0 0.6864 ]
[ 0 0 1 0 ]
[ 0 0 0 1 ]

The end effector is approximately 0.624 m in x, 0.686 m in y, and has planar orientation 75°. This example illustrates an important distinction: θ_2 is the relative second-joint angle, whereas the orientation of link 2 relative to the base is θ_1 + θ_2.

4. Product of Exponentials Formulation

4.1 Motivation

The PoE formulation describes rigid motion using screw theory. Instead of assigning a frame to every link through four DH parameters, it specifies each joint axis in a common reference frame and uses matrix exponentials. This can make geometric reasoning, modern robotics software, and spatial-velocity analysis more direct.

Let Si ∈ se(3) be the twist matrix associated with joint i. For a revolute joint with unit axis ω_i and a point r_i on that axis,

vi = −ωi × ri

and

Si = [ [ωi]× vi ]
[ 0 0 ]

where [ωi]× is the skew-symmetric matrix

[ω]× = [ 0 −ωz ωy ]
[ ωz 0 −ωx]
[−ωy ωx 0 ]

For a prismatic joint, ω_i = 0 and v_i is the unit translation direction. The twist is expressed in the chosen base or space frame, and its units depend on the representation: angular components are dimensionless in radians and linear components have units of length per unit joint parameter.

4.2 PoE forward-kinematic equation

Let M be the home configuration of the end effector when all joint variables are zero. The space-form PoE equation is

T(q) = e[S1]q1 e[S2]q2 … e[Sn]qn M

For revolute joints, q_i is in radians; for prismatic joints, q_i is in metres if the twist direction is dimensionless. The order of exponentials follows the serial chain from base to tool.

The body-form equation uses twists expressed in the tool’s home frame:

T(q) = M e[B1]q1 e[B2]q2 … e[Bn]qn

Space and body formulations are equivalent when the twists and home configuration are defined consistently. Mixing a space twist with a body equation is a modeling error.

For a revolute twist, the exponential can be evaluated using the Rodrigues formula. If ||ω|| = 1,

e[S]θ = [ R(θ) (I − R(θ))(ω × v) + ωωT vθ ]
[ 0 1 ]

where

R(θ) = I + sinθ[ω]× + (1 − cosθ)[ω]×2

The formula assumes a unit rotational axis and a twist constructed as above. In practical numerical software, a stable matrix-exponential routine is often preferable, especially for very small angles.

4.3 DH and PoE comparison

FeatureDH conventionPoE convention
Primary descriptionRelative link parametersJoint screws and home pose
Frame dependenceRequires systematic link framesUses a common space or body frame
Parameters per jointFourSix twist components, with constraints
StrengthCompact industrial documentationGeometric clarity and velocity analysis
Main riskFrame-assignment and convention errorsIncorrect axis, home pose, or twist frame
Typical useRobot manuals, teaching, controller tablesModern robotics theory, simulation, calibration

The two methods should produce the same pose when their geometric assumptions and frame definitions describe the same physical mechanism. Agreement between independently implemented DH and PoE models is a powerful validation test.

5. Constructing a Kinematic Chain in Practice

A reliable modeling workflow is as follows:

  1. Define the base frame, its origin, handedness, and units.
  2. Identify every joint axis from mechanical drawings or measurement.
  3. Classify each joint as revolute or prismatic.
  4. Define the zero or home configuration, including encoder offsets.
  5. Assign DH frames or express screw axes in the selected common frame.
  6. Record fixed tool and base transformations.
  7. Implement the transformations in a documented order.
  8. Test simple configurations before testing arbitrary poses.
  9. Compare independent formulations or measured data.

Joint offsets must be separated from commanded variables. If an encoder reports q_i^enc but the geometric model requires q_i, a common relation is

qi = si qienc + qi0

where s_i is a direction sign, normally +1 or −1, and q_i^0 is a zero offset. For a prismatic joint, q_i^0 has length units; for a revolute joint, it has angular units. Offset conventions must not be silently absorbed into link parameters.

A tool centre point is often not located at the origin of the final link frame. Omitting TnE can produce a model that appears correct near the wrist but has systematic position errors at the actual tool tip.

6. Validation Through Simulation and Measurement

6.1 Simulation checks

A model should first be tested in a symbolic or numerical environment. Useful checks include:

  • At zero configuration, verify the expected home pose.
  • Set one joint variable at a time and inspect the motion of the correct link.
  • Confirm that a revolute joint rotates about its specified axis.
  • Confirm that a prismatic joint translates along its specified axis.
  • Verify that every rotation matrix satisfies R^T R ≈ I and det(R) ≈ 1.
  • Compare DH and PoE predictions at several random configurations.
  • Check that changing a tool offset changes the end-effector pose but not upstream link geometry.

Numerical tolerances should reflect machine precision, model scale, and measurement uncertainty. A residual near 10^−12 m may be excellent in a simulation but irrelevant if the physical robot has millimetre-level geometric uncertainty.

6.2 Measurement validation

For a physical robot, command known joint configurations and measure the tool pose using a calibrated camera, optical tracker, laser tracker, motion-capture system, or carefully designed fixture. Let p_model and p_meas be position vectors. A basic position residual is

ep = pmeas − pmodel

and its Euclidean magnitude is

||ep|| = √(ex2 + ey2 + ez2)

For orientation, define the relative rotation

Rerr = RmodelT Rmeas

The equivalent angular error is

eR = cos^−1((tr(Rerr) − 1)/2)

where tr(·) is the trace and e_R is in radians. Numerically, the argument of cos^−1 should be clipped to [−1, 1] to avoid round-off errors. This metric is meaningful for proper rotation matrices and gives the smallest angle that rotates the model orientation into the measured orientation.

Validation should use configurations distributed throughout the workspace rather than a single pose. Measurements should be repeated to distinguish random sensor noise from systematic model error. If residuals change predictably with configuration, likely causes include link-length errors, joint-axis misalignment, encoder offsets, or an incorrect tool transform.

7. Illustrative Case: Calibration of a Two-Link Laboratory Robot

Background

Consider an illustrative 2R educational robot with nominal link lengths of 0.60 m and 0.40 m. The controller reports joint angles, while a camera measures the tool position on a horizontal calibration board.

Problem

At several test configurations, the measured tool position differs from the nominal DH prediction by 3–6 mm. The robot still moves smoothly, but pick-and-place accuracy is insufficient.

Analysis

The team first checks software ordering and confirms that the measured joint angles are expressed in degrees while the trigonometric library expects radians. After correcting this interface issue, a residual of approximately 2 mm remains. Measurements show a consistent displacement in the direction of the tool, suggesting an unmodeled tool-centre-point offset. A second pattern varies with both joint angles, indicating that the nominal link lengths may also be inaccurate.

Approach and solution

The team:

  1. Measures the tool offset relative to frame {2} using a mechanical gauge.
  2. Adds the fixed transformation T2E to the chain.
  3. Repeats measurements over 20 configurations.
  4. Estimates small corrections to l_1, l_2, and the two encoder zero offsets.
  5. Validates the corrected model on configurations not used for estimation.

Parameter estimation must be performed cautiously because some parameters can be correlated. For example, a tool offset and a link-length error may produce similar position changes in a limited set of poses. Broad workspace coverage improves identifiability.

Outcome

The corrected model reduces the mean position error substantially, while the independent validation set confirms that the improvement is not merely overfitting. The camera remains necessary for occasional verification because thermal expansion, compliance, and mounting changes are not represented by a rigid kinematic model.

Learning points

The case demonstrates that a mathematically correct chain can still predict the wrong physical pose if units, zero offsets, tool geometry, or frame definitions are wrong. Validation is therefore an engineering activity, not merely a software debugging step.

8. Limitations, Safety, and Professional Practice

Rigid forward kinematics assumes ideal rigid links, exact joint axes, negligible backlash, and known joint variables. Real manipulators also exhibit elastic deflection, bearing clearances, cable effects, thermal expansion, structural vibration, and payload-dependent deformation. Forward kinematics predicts geometric pose; it does not by itself predict forces, collision risk, dynamic error, or controller stability.

A kinematic model used for commissioning or motion planning must be checked against the robot’s workspace and safety envelope. Incorrect frames can cause a simulated tool to clear an obstacle while the physical tool collides with it. Engineers should use conservative margins, validated tool definitions, safe test speeds, emergency-stop procedures, and appropriate risk assessments. In collaborative robots, kinematic accuracy is also relevant to separation monitoring and safe human–robot interaction, but it is only one component of a complete safety system.

Contemporary robot software often represents transforms with libraries that support quaternions, rotation vectors, or Lie-group operations. These tools reduce some numerical problems but do not remove the need to understand conventions. Artificial-intelligence systems may assist with parameter estimation, anomaly detection, or automated calibration; however, generated models must be verified against geometry, units, and physical measurements. Safety-critical kinematic decisions should remain auditable and reproducible.

Best-Practice Checklist

  • State whether DH is standard or modified.
  • Draw or document every frame and axis.
  • Use metres and radians internally unless a clear interface specifies otherwise.
  • Store joint offsets and sign conventions explicitly.
  • Include base and tool transformations.
  • Test zero, single-joint, and limiting configurations.
  • Compare independent DH and PoE implementations where possible.
  • Validate both position and orientation.
  • Report residuals with units and measurement uncertainty.
  • Preserve model version, calibration data, and software configuration.

Chapter Summary

Forward kinematics maps a serial manipulator’s joint configuration to the pose of its end effector. Homogeneous transformations combine a 3 × 3 rotation matrix and a 3 × 1 position vector, allowing translations and rotations to be composed in one 4 × 4 matrix. The DH convention provides a compact link-by-link description through θ, d, a, and α, but it requires disciplined frame assignment and consistent use of either the standard or modified convention.

The product-of-exponentials formulation represents each joint as a screw motion and multiplies joint exponentials by a home configuration. It is especially useful for geometric modeling and modern robotics analysis. DH and PoE are equivalent descriptions when their frames, axes, units, and home poses are consistent.

A professional kinematic model includes joint offsets, base and tool transformations, and explicit units. Simulation checks should be followed by physical validation using position and orientation residuals. Systematic discrepancies often reveal incorrect frame assignments, units, offsets, link dimensions, or tool definitions. Finally, a rigid kinematic model is an idealization; safe deployment requires awareness of compliance, backlash, thermal effects, sensing uncertainty, and collision risk.

Key Terms

Homogeneous transformation: A 4 × 4 matrix representing the position and orientation of one frame relative to another.

Rotation matrix: A 3 × 3 orthonormal matrix with determinant +1 that represents orientation.

Pose: The combined position and orientation of a rigid body.

Serial manipulator: A chain of rigid links connected by joints in sequence.

Joint variable: The independent displacement of a joint, angular for revolute joints or linear for prismatic joints.

Denavit–Hartenberg convention: A systematic method for assigning link frames and four parameters to serial manipulators.

Standard DH: A DH convention using the transformation order T_z(θ)T_z(d)T_x(a)T_x(α).

Modified DH: A related convention with a different frame placement and transformation order.

Link length: The DH parameter a describing a common-normal distance.

Link twist: The DH parameter α describing the angle between successive joint axes.

Joint offset: A fixed correction between a measured joint coordinate and the model coordinate.

Product of exponentials: A forward-kinematic formulation based on exponential screw motions.

Twist: A six-dimensional representation of instantaneous rigid-body motion.

Home configuration: The end-effector pose when all joint variables are zero according to the selected convention.

Tool centre point: The operational point on a tool whose pose is required.

Configuration space: The set of all allowable joint-variable combinations.

Position residual: The vector difference between measured and modeled positions.

Orientation error: The relative rotational discrepancy between measured and modeled orientations.

Calibration: The estimation or correction of model parameters using physical measurements.

Review Questions

Short Answer Questions

  1. What information is contained in a homogeneous transformation matrix?
  2. Which DH parameter varies for a revolute joint, and which varies for a prismatic joint?
  3. Why is transformation order important in a serial chain?
  4. What is the purpose of a tool-centre-point transformation?
  5. State two assumptions made by an ideal rigid kinematic model.

Long Answer Questions

  1. Explain the standard DH frame-assignment procedure and derive the standard DH transformation matrix.
  2. Compare standard DH, modified DH, and product-of-exponentials formulations, including their principal sources of error.
  3. Derive the forward kinematics of a planar 2R manipulator and explain the meaning of the end-effector orientation.
  4. Explain how joint offsets, base frames, and tool frames affect a robot’s forward-kinematic model.
  5. Design a validation procedure combining simulation, measurement, residual analysis, and independent test configurations.

Analytical / Application Questions

  1. A planar 2R robot has link lengths 0.50 m and 0.30 m and joint angles 20° and −35°. Calculate the tool position and orientation, clearly stating the angle convention and units.
  2. A model has small position errors near one wrist orientation but large errors elsewhere. Propose at least three diagnostic tests to distinguish a tool-offset error from a joint-axis or link-geometry error.
  3. Implement DH and PoE models for the same three-joint manipulator, test them at five configurations, and explain how you would determine whether any disagreement results from frame assignment, multiplication order, or unit conversion.

Multiple Choice Questions with Answers

Question 1

What does a homogeneous transformation matrix represent?

A. Only the position of a rigid body

B. Only the orientation of a rigid body

C. The position and orientation of a rigid body

D. The dynamic torque required at a joint

Correct Answer: C. The position and orientation of a rigid body

Question 2

In the standard DH convention, which parameter normally varies for a revolute joint?

A. a_i

B. α_i

C. d_i

D. θ_i

Correct Answer: D. θ_i

Question 3

Which condition is required of a proper 3 × 3 rotation matrix?

A. R^T R = 0

B. det(R) = −1

C. R^T R = I and det(R) = +1

D. All entries must be positive

Correct Answer: C. R^T R = I and det(R) = +1

Question 4

For a serial chain, how is the base-to-tool transformation obtained from link transformations?

A. By adding the matrices

B. By multiplying them in chain order

C. By multiplying their determinants

D. By averaging them

Correct Answer: B. By multiplying them in chain order

Question 5

In a planar 2R manipulator, the end-effector orientation about the base z-axis is generally:

A. θ_1 − θ_2

B. θ_1 θ_2

C. θ_1 + θ_2

D. θ_1/θ_2

Correct Answer: C. θ_1 + θ_2

Question 6

What is the principal role of the home configuration M in the space-form PoE equation?

A. It defines the end-effector pose at zero joint variables

B. It defines the motor torque limits

C. It converts degrees to radians

D. It identifies the robot’s singularities

Correct Answer: A. It defines the end-effector pose at zero joint variables

Question 7

A prismatic joint contributes which type of motion in a PoE model?

A. Rotation about a fixed axis

B. Translation along a fixed direction

C. Scaling of the link

D. Reflection through a plane

Correct Answer: B. Translation along a fixed direction

Question 8

If T maps coordinates from frame B to frame A, which expression maps a point from B into A?

A. P^A = T_A^B P^B

B. P^A = T_B^A P^B

C. P^B = T_A^B P^A

D. P^A = (T_A^B)^T P^B

Correct Answer: A. P^A = T_A^B P^B

Question 9

What is a likely consequence of omitting a fixed tool transformation?

A. The upstream joint axes disappear

B. The actual tool-tip pose can have a systematic error

C. All joint angles become zero

D. The rotation matrices cease to be 3 × 3

Correct Answer: B. The actual tool-tip pose can have a systematic error

Question 10

Which measurement is appropriate for validating orientation independently of position?

A. The trace-based relative rotation angle

B. The sum of link lengths only

C. The determinant of the translation vector

D. The encoder sampling frequency

Correct Answer: A. The trace-based relative rotation angle

Robotics and Kinematics
Chapter 4 of 15