Chapter 8
Robot Kinematics and Coordinate Transformations
Bachelors Program in Mechnical Engineering
Robotics & Control Systems
•
Bachelor
Robot Kinematics and Coordinate Transformations
Introduction
Robot kinematics describes the geometry of motion without considering forces or torques. It establishes the relationship between joint variables and the position and orientation of a robot’s end-effector. This relationship is fundamental to trajectory generation, motion control, collision avoidance, calibration, simulation, and task planning.
A serial manipulator is commonly represented as a sequence of rigid links connected by revolute or prismatic joints. The central kinematic problems are:
Forward kinematics: determine end-effector pose from known joint variables.
Inverse kinematics: determine joint variables required to achieve a specified pose.
Differential kinematics: relate joint velocities to end-effector linear and angular velocity.
Singularity analysis: identify configurations in which motion or force capabilities are lost.
Workspace analysis: determine the set of positions or poses reachable by the robot.
This chapter develops these topics using coordinate frames, homogeneous transformations, the Denavit–Hartenberg convention, and the geometric Jacobian.
Learning Objectives
After completing this chapter, a student should be able to:
Distinguish position, orientation, configuration, and pose.
Construct and interpret homogeneous transformation matrices.
Assign coordinate frames using the Denavit–Hartenberg convention.
Derive forward kinematics for serial manipulators.
Solve representative inverse-kinematics problems.
Construct a Jacobian and use it to calculate differential motion.
Explain singularities, redundancy, and workspace boundaries.
Evaluate kinematic models in practical robotic applications.
1. Coordinate Frames, Pose, and Configuration
A Cartesian coordinate frame consists of an origin and three mutually perpendicular unit vectors. A point expressed in frame A is represented by a position vector
A p = [xA yA zA]T
where the superscript identifies the reference frame. A robot may use a world or base frame {0}, link frames {1}, {2}, …, and a tool frame {T}.
The position of a rigid body is the location of its origin. Its orientation specifies the directions of its axes relative to a reference frame. Together, position and orientation form the body’s pose. A robot’s configuration is the complete set of joint variables:
For a revolute joint, the variable is an angle θ, measured in radians or degrees.
For a prismatic joint, the variable is a displacement d, measured in metres or millimetres.
If a manipulator has n independent joints, its configuration is often written as
q = [q1, q2, …, qn]T
The configuration space is the set of all allowable q values, subject to joint limits and mechanical constraints.
1.1 Rotation matrices
The orientation of frame B relative to frame A is represented by a 3 × 3 rotation matrix A RB. Its columns are the unit axes of frame B expressed in frame A. A valid rotation matrix satisfies
RT R = I, det(R) = +1
where I is the identity matrix. The determinant condition excludes reflections. The three columns are orthonormal, so a rotation matrix has only three independent degrees of freedom even though it contains nine elements.
Elementary rotations about fixed coordinate axes are
Rx(α) = [1 0 0; 0 cosα −sinα; 0 sinα cosα]
Ry(β) = [cosβ 0 sinβ; 0 1 0; −sinβ 0 cosβ]
Rz(γ) = [cosγ −sinγ 0; sinγ cosγ 0; 0 0 1]
Angles are normally expressed in radians when used in calculus or numerical software. Rotation order matters because three-dimensional rotations do not generally commute: RxRy ≠ RyRx.
2. Homogeneous Transformations
A homogeneous transformation combines rotation and translation in one 4 × 4 matrix:
A TB = [ A RBA pB; 0 0 0 1 ]
Here, A pB is the origin of frame B expressed in frame A. A point written in homogeneous coordinates is
B \tilde p = [B pxB pyB pz 1]T
and coordinate conversion is
A \tilde p = A TBB \tilde p
The bottom row is a mathematical device that permits translation and rotation to be performed through matrix multiplication. The transformation is not a physical 4-D motion.
If a point is transformed successively through frames B and C, then
A TC = A TBB TC
The order is essential. The inverse transformation is
(A TB)-1 = B TA = [ (A RB)T −(A RB)TA pB; 0 0 0 1 ]
This expression assumes a rigid transformation: the rotation is orthonormal and there is no scaling or shear.
Coordinate frames connected by a robot link
Figure: Coordinate frames connected by a robot link
Figure: Two coordinate frames used to describe a robot link and its relative transformation.
Worked Example 1: Composition of planar transformations
Suppose a first link rotates by 30° and has length 0.40 m, while a second link rotates by 45° relative to the first and has length 0.30 m. For a planar two-link arm,
0 T2 = Rz(θ1) Transx(a1) Rz(θ2) Transx(a2)
The end-effector position is therefore
x = a1 cosθ1 + a2 cos(θ1 + θ2)
y = a1 sinθ1 + a2 sin(θ1 + θ2)
Using θ1 = 30°, θ2 = 45°, a1 = 0.40 m, and a2 = 0.30 m gives
x = 0.40cos30° + 0.30cos75° ≈ 0.449 m
y = 0.40sin30° + 0.30sin75° ≈ 0.490 m
The end-effector orientation is φ = θ1 + θ2 = 75°.
3. Denavit–Hartenberg Convention
The Denavit–Hartenberg (D–H) convention provides a systematic method for assigning one frame to each joint and expressing the transformation between adjacent frames with four parameters:
ai, link length: distance along x_i between the relevant z axes.
αi, link twist: angle about x_i between the relevant z axes.
di, link offset: distance along z before the joint motion.
θi, joint angle: rotation about z associated with the joint.
Two conventions are widely used: standard D–H and modified D–H. They differ in frame placement and multiplication order. A table must never be mixed between conventions.
For the standard convention, the transformation from frame i−1 to frame i is commonly written
For a revolute joint, θ_i is variable while d_i is constant. For a prismatic joint, d_i is variable while θ_i is constant. The other parameters describe fixed link geometry.
Frame-assignment procedure
Place z_i along the axis of joint i+1, according to the selected convention.
Locate the common normal between adjacent z axes; its direction defines x_i.
Place the frame origin at the intersection or appropriate endpoint of the axes.
Choose y_i to complete a right-handed frame.
Record a_i, α_i, d_i, and θ_i.
Verify the table by reconstructing each elementary transformation.
The D–H method is a modelling convention, not a physical law. Different valid frame assignments can produce different-looking tables while representing the same physical robot.
Worked Example 2: Two-link planar arm using D–H parameters
For a planar revolute–revolute arm, choose α_1 = α_2 = 0, d_1 = d_2 = 0, and link lengths a_1 and a_2. The table is:
This matrix contains both the position and orientation of the tool frame. It is the forward-kinematic model.
4. Forward Kinematics
For an n-joint serial chain, the end-effector transformation relative to the base is
0 Tn(q) = 0 T1(q1) 1 T2(q2) … n−1Tn(qn)
The position is obtained from the fourth column and the orientation from the upper-left 3 × 3 block:
0 Tn = [ 0 Rn0 pn; 0 0 0 1 ]
Forward kinematics is generally straightforward computationally, but errors commonly arise from inconsistent frame directions, incorrect multiplication order, degrees used in place of radians, or confusion between tool and flange frames.
A reliable implementation should:
define one convention explicitly;
retain units consistently;
test zero and simple configurations;
verify that every rotation matrix is orthonormal;
compare a numerical result with a physical or graphical model.
5. Inverse Kinematics
Inverse kinematics seeks q for a desired pose Td:
T(q) = Td
Unlike forward kinematics, inverse kinematics may have zero, one, multiple, or infinitely many solutions. Solutions may be rejected because of joint limits, collisions, mechanical constraints, or undesirable posture.
5.1 Geometric solution of a planar arm
For the two-link planar arm, let the desired position be (x_d, y_d). From the forward equations,
The second branch gives a different shoulder and elbow posture. Substitution into the forward equations is required to verify both solutions. The calculation assumes no joint limits and considers position only; a required end-effector orientation would impose an additional constraint.
Numerical inverse kinematics
For six-axis industrial robots or robots with complicated geometry, closed-form solutions may be difficult. Numerical methods solve an error equation iteratively. A pose error may combine position and orientation errors into a vector e. A basic update is
qk+1 = qk + J(qk)^+ ek
where J^+ is the Moore–Penrose pseudoinverse. This method depends on a suitable initial guess and can fail near singularities or converge to an undesired branch. Damped least squares improves robustness:
Δq = JT(JJT + λ2I)-1e
where λ > 0 is a damping factor. Larger damping improves numerical stability but reduces exactness and may slow convergence.
6. Differential Kinematics and the Jacobian
Differential kinematics relates joint rates to end-effector velocity. For a manipulator with n joints,
v = J(q) q̇
where v is a six-dimensional spatial velocity, q̇ is the n-dimensional joint-rate vector, and J is the 6 × n Jacobian:
v = [vp; ω]
Here, v_p is linear velocity in m/s and ω is angular velocity in rad/s. Since radians are dimensionless in SI dimensional analysis, Jacobian entries associated with revolute joints have appropriate length units for linear velocity and dimensionless units for angular velocity. For prismatic joints, the linear-velocity contribution is dimensionless and the angular contribution is zero.
6.1 Geometric Jacobian columns
Let z_{i−1} be the axis of joint i expressed in the base frame, o_{i−1} the origin of frame i−1, and o_n the end-effector origin. For a revolute joint,
Jvi = zi−1 × (on − oi−1), Jωi = zi−1
For a prismatic joint,
Jvi = zi−1, Jωi = 0
Stacking these columns gives
J = [Jv; J_ω]
This geometric Jacobian is expressed relative to a chosen reference frame. A body Jacobian expressed in the end-effector frame is also possible, but the two must not be mixed without the appropriate transformation.
Worked Example 4: Jacobian of a planar two-link arm
For the planar arm, the position equations yield the 2 × 2 position Jacobian
At θ_1 = 30°, θ_2 = 45°, a_1 = 0.40 m, and a_2 = 0.30 m,
Jp ≈ [−0.490 −0.290; 0.449 0.078] m
If θ̇1 = 0.20 rad/s and θ̇2 = −0.10 rad/s, then
ẋ ≈ −0.0490 m/s and ẏ ≈ 0.0820 m/s.
The result indicates that the end effector moves left and upward at that instant.
7. Singularities
A singularity is a configuration in which the Jacobian loses rank. At such a configuration, one or more Cartesian velocity directions cannot be generated by finite joint rates. Conversely, very large joint rates may be required to produce modest Cartesian velocities.
For a square planar Jacobian, singularity occurs when
det(Jp) = a1a2 sinθ2 = 0
Thus, θ_2 = 0 or π: the links are collinear. These configurations occur at maximum reach and, for unequal links, at the most folded radial configuration.
Consequences include:
loss of instantaneous mobility in a Cartesian direction;
poor conditioning and amplified sensor or numerical errors;
excessive joint velocities under Cartesian control;
difficulty in inverse-kinematics convergence;
changes in force and stiffness capability.
A common numerical measure is the condition number, the ratio of the largest to smallest singular value of J. As the smallest singular value approaches zero, the condition number becomes large. Damped least-squares control is often used near singularities.
Singularities are not always avoidable. A task may require passing through a particular configuration, and some robot designs deliberately exploit singular postures for specialized motion. The correct response is therefore analysis and controlled planning rather than simply treating every singularity as a failure.
8. Workspace Analysis
The workspace is the set of locations reachable by the end effector. The dexterous workspace is the subset in which specified orientations can also be achieved. The reachable workspace may include positions achievable with at least one orientation.
For an unrestricted planar two-link arm, the radial workspace is an annulus:
|a1 − a2| ≤ √(x2+y2) ≤ a1+a2
Joint limits remove portions of this annulus. Obstacles, self-collision, tool geometry, and orientation requirements reduce it further.
Workspace analysis can be performed by:
Analytical methods: derive boundary curves from the kinematic equations.
Sampling: evaluate forward kinematics over a grid or random configuration set.
Optimization: find extrema of position coordinates subject to joint constraints.
Numerical reachability tests: solve inverse kinematics for many target poses.
Sampling is easy to implement but may miss narrow regions or boundaries. Analytical methods provide insight but become difficult for complex manipulators.
9. Applied Case: Selecting a Pick-and-Place Posture
Background
Consider an illustrative two-link planar pick-and-place robot used to transfer components between a conveyor and a fixture. The links have lengths 0.50 m and 0.40 m. The controller must place the tool at (0.60 m, 0.30 m), while avoiding configurations close to full extension.
Problem
The target is reachable, but two inverse-kinematic solutions exist. The engineering question is which posture should be selected for reliable operation.
Analysis
The inverse calculation gives approximately
elbow-up branch: θ2 = +84.26°, θ1 = −8.70°;
elbow-down branch: θ2 = −84.26°, with a different shoulder angle.
Both branches produce the target position. The Jacobian should be evaluated at both configurations. A posture with a larger smallest singular value generally offers better local velocity conditioning. The solution must also be checked against joint limits, the conveyor, fixture walls, and the robot’s approach direction.
Approach and solution
The controller maintains a library of feasible inverse-kinematic branches, rejects solutions violating safety limits, and selects the posture with adequate singularity margin. It then plans a collision-free trajectory in joint space or Cartesian space. Before execution, the target is substituted into the forward model to verify position and orientation.
Outcome
The selected posture reaches the fixture while retaining better manipulability than a near-collinear posture. The approach direction is also compatible with grasping, reducing the risk of contact with neighbouring components.
Learning points
Reachability alone is insufficient; posture quality matters.
Multiple inverse solutions should be treated as a planning resource.
Jacobian conditioning links geometry to control reliability.
Forward-kinematics verification is an essential implementation check.
Calibration errors can cause a mathematically correct pose to be physically inaccurate.
10. Practical Implementation and Limitations
A kinematic model is only as accurate as its parameters and frame definitions. Real errors arise from link manufacturing tolerances, joint-axis misalignment, encoder offsets, structural flexure, backlash, thermal expansion, and tool-center-point uncertainty. Calibration estimates corrections by comparing measured and predicted poses.
Best practices include:
use SI units internally;
distinguish degrees in user interfaces from radians in calculations;
document frame names and transformation direction;
use atan2 rather than a single-argument arctangent for quadrant correctness;
verify D–H parameters against a physical drawing;
check joint limits and self-collision after inverse-kinematics solution;
monitor Jacobian singular values during motion;
validate the tool-center point independently;
test numerical solvers from multiple initial guesses;
use simulation and low-speed hardware trials before production operation.
Kinematics alone does not predict loads, deflection, friction, or dynamic tracking error. Those require statics, dynamics, actuator models, sensing, and control analysis. Nevertheless, kinematic accuracy is a prerequisite for all of them.
Modern robot software frequently combines analytical kinematics with numerical optimization, collision checking, and real-time state estimation. Machine-learning methods may assist in learning calibration corrections or selecting inverse-kinematic branches, but they should not replace geometric verification where safety and repeatability are critical. A learned approximation must be bounded, tested over the intended workspace, and supervised by constraint-based software.
Chapter Summary
Robot kinematics describes motion geometry through joint variables, coordinate frames, transformations, and Jacobians. Rotation matrices represent orientation and must be orthonormal with determinant +1. Homogeneous transformations combine rotation and translation and are composed in an order determined by the frame sequence.
The Denavit–Hartenberg convention reduces each adjacent-frame relationship to four parameters: link length, link twist, link offset, and joint angle. Multiplication of these transformations produces the forward-kinematic model. Inverse kinematics reverses this relationship and may have multiple, absent, or infinite solutions. Geometric solutions are useful for simple robots, while numerical methods support complex mechanisms but require attention to initial conditions and singularities.
The Jacobian maps joint velocities to end-effector linear and angular velocities. Its rank describes instantaneous mobility. Singularities occur when rank is lost and may cause poor conditioning, excessive joint rates, or reduced Cartesian control authority. Workspace analysis identifies reachable positions and orientations while accounting for joint limits, collisions, and dexterity. Reliable industrial implementation requires consistent conventions, calibration, numerical verification, and safety-aware trajectory planning.
Key Terms
Configuration: Complete set of robot joint variables.
Configuration space: Set of all admissible joint configurations.
Coordinate frame: Origin and oriented axes used to express measurements.
Pose: Combined position and orientation of a rigid body.
Homogeneous transformation: 4 × 4 matrix combining rotation and translation.
Forward kinematics: Calculation of pose from joint variables.
Inverse kinematics: Calculation of joint variables from a desired pose.
Denavit–Hartenberg convention: Standardized frame and parameterization method for serial manipulators.
Link length: D–H distance measured along an x axis.
Link twist: D–H angle between successive joint axes.
Joint offset: D–H distance associated with a joint axis.
Geometric Jacobian: Matrix mapping joint rates to Cartesian velocity.
Singularity: Configuration in which the Jacobian loses rank.
Workspace: Set of positions reachable by the end effector.
Dexterous workspace: Workspace in which required orientations are also achievable.
Manipulability: Measure of the robot’s ability to generate motion or force in different directions.
Pseudoinverse: Generalized matrix inverse used for non-square or rank-deficient kinematic equations.
Review Questions
Short Answer Questions
What information is represented by a homogeneous transformation matrix?
State the four standard Denavit–Hartenberg parameters.
Why must transformation matrices be multiplied in the correct order?
What is the physical meaning of the Jacobian?
Define a kinematic singularity.
Long Answer Questions
Explain how coordinate frames are assigned using the standard Denavit–Hartenberg convention and derive the adjacent-frame transformation.
Describe the forward- and inverse-kinematics problems for a serial manipulator, including reasons why inverse kinematics may have multiple solutions.
Derive the position equations and Jacobian of a planar two-link revolute arm.
Explain the effects of singularities on velocity control, numerical inverse kinematics, and force transmission.
Compare analytical, sampling-based, and numerical approaches to workspace analysis.
Analytical / Application Questions
A planar arm has links 0.60 m and 0.35 m. Determine whether the target (0.50 m, 0.40 m) is reachable and calculate its possible elbow angles.
For a two-link arm, evaluate the Jacobian at a fully extended configuration and explain the resulting loss of instantaneous motion capability.
Design a procedure for selecting between multiple inverse-kinematic solutions for a pick-and-place task, including joint limits, collision checks, orientation requirements, and singularity margin.
Multiple Choice Questions with Answers
Question 1
Which matrix condition is required for a valid three-dimensional rotation matrix?
A. R^T R = I and det(R) = +1
B. R^T R = 0 and det(R) = 0
C. R^T R = R and det(R) = −1
D. R^T R = 2I and det(R) = +1
Correct Answer: A. R^T R = I and det(R) = +1
Question 2
In a standard Denavit–Hartenberg model of a revolute joint, which parameter is normally variable?
A. Link length a_i
B. Link twist α_i
C. Joint angle θ_i
D. Link offset d_i
Correct Answer: C. Joint angle θ_i
Question 3
For a planar two-link arm, the end-effector orientation is
A. θ_1 − θ_2
B. θ_1 + θ_2
C. θ_1θ_2
D. θ_1 ÷ θ_2
Correct Answer: B. θ_1 + θ_2
Question 4
What does the fourth column of a homogeneous transformation matrix represent?
A. The translation of the transformed frame origin, in homogeneous form
B. The determinant of the rotation matrix
C. The joint torque vector
D. The Jacobian singular values
Correct Answer: A. The translation of the transformed frame origin, in homogeneous form
Question 5
For a planar two-link arm, a singularity occurs when
A. a_1 = 0 only
B. θ_1 = 90° only
C. sinθ_2 = 0
D. θ_1 + θ_2 = 0° only
Correct Answer: C. sinθ_2 = 0
Question 6
Which expression gives the linear-velocity Jacobian column for a revolute joint?
A. z × (o_n − o_{i−1})
B. z · (o_n − o_{i−1})
C. o_n + z
D. 0 for every revolute joint
Correct Answer: A. z × (o_n − o_{i−1})
Question 7
A two-link planar arm has link lengths 0.50 m and 0.40 m. What is its maximum radial reach with unrestricted joints?
A. 0.10 m
B. 0.40 m
C. 0.90 m
D. 1.25 m
Correct Answer: C. 0.90 m
Question 8
Which statement about inverse kinematics is correct?
A. It always has exactly one solution.
B. It can have zero, one, multiple, or infinitely many solutions.
C. It does not depend on joint limits.
D. It never requires numerical methods.
Correct Answer: B. It can have zero, one, multiple, or infinitely many solutions.
Question 9
What is the principal purpose of damped least-squares inverse kinematics?
A. To increase link length
B. To improve numerical behavior near singularities
C. To remove all joint limits
D. To convert a prismatic joint into a revolute joint
Correct Answer: B. To improve numerical behavior near singularities
Question 10
For a prismatic joint, the angular-velocity contribution to its geometric Jacobian column is
A. The joint axis vector
B. The cross product with the end-effector position