๐Ÿฆพ Robotics Institute
Educational Resources

Robot Kinematics

The mathematics of robot motion: how joint configurations map to end-effector poses, how to solve for desired positions, and where robots lose dexterity.

What is Kinematics?

Kinematics is the branch of mechanics that studies the motion of bodies without considering the forces that cause the motion. In robotics, kinematics focuses on the geometric relationship between the links and joints of a robot and the resulting position, velocity, and acceleration of the end-effector (the tool or gripper at the tip of the arm).

Why It Matters

Every robot controller needs kinematics. When you command a robot arm to move its gripper to a specific location in space, the controller must solve an inverse kinematics problem: determine what joint angles produce the desired end-effector pose. When the robot reports its current joint angles, forward kinematics computes where the end-effector actually is. Without kinematics, you cannot plan paths, avoid obstacles, or coordinate multiple robots.

Forward Kinematics
Joint Angles q
Pose T
Always unique, O(n)
Inverse Kinematics
Pose T
q₁, q₂, ...
0, 1, or many solutions

Two Central Problems

Types of Joints

An n-DOF serial robot chain has n joints and n+1 links. The total degrees of freedom determine the dimension of the configuration space (C-space), which is the space of all possible joint configurations.

🦾 Kinematics is like asking: "If I know how much each joint of a robot arm is bent, where is the hand?" It's the math that connects joint angles to hand position โ€” like figuring out where your fingertip is by knowing how your shoulder, elbow, and wrist are bent.

Spatial Representations

Before diving into kinematics equations, we need tools to represent position and orientation in 3D space.

Rotation Matrices

A 3x3 rotation matrix R belongs to the Special Orthogonal group SO(3). It satisfies R^T R = I and det(R) = 1. Rotation matrices are used to describe the orientation of one coordinate frame relative to another.

R_z(theta) = [ cos(theta) -sin(theta) 0 ; sin(theta) cos(theta) 0 ; 0 0 1 ]

Elementary rotations about the x, y, z axes can be composed to represent any orientation. The order of multiplication matters because rotations are not commutative.

Euler Angles

Three angles that parameterize a rotation. Common conventions include ZYZ (used in many industrial robots), ZYX (roll-pitch-yaw, used in aerospace), and XYZ. Euler angles are intuitive but suffer from gimbal lock: when two rotation axes align, one degree of freedom is lost.

Quaternions

Unit quaternions q = (w, x, y, z) with |q| = 1 provide a singularity-free representation of rotations. They are compact (4 numbers vs 9 for a matrix), and interpolation between orientations (SLERP) is smooth and efficient. Widely used in game engines and modern robotics software.

Homogeneous Transformation Matrices

A 4x4 matrix T in SE(3) combines rotation and translation into a single compact representation:

T = [ R p ; 0 0 0 1 ]
where R is 3x3 rotation, p is 3x1 translation

Composing transformations is simple matrix multiplication: T_02 = T_01 * T_12 gives the pose of frame 2 relative to frame 0. This is the foundation of forward kinematics.

Axis-Angle Representation

Any rotation can be described by an axis (unit vector omega) and an angle theta. Related to rotation matrices via Rodrigues' formula: R = I + sin(theta) [omega]_x + (1 - cos(theta)) [omega]_x^2, where [omega]_x is the 3x3 skew-symmetric matrix of omega. The axis-angle form connects naturally to the product of exponentials formulation.

Forward Kinematics

Forward kinematics maps joint variables to the end-effector pose. For a serial chain of n joints, the end-effector pose is computed by multiplying the transformation matrices of each link:

T_0n = T_01(q1) * T_12(q2) * ... * T_{n-1,n}(qn)

Each T_{i-1,i} depends on the joint variable q_i (an angle for revolute joints, a displacement for prismatic joints) and the fixed geometric parameters of the link.

Procedure

Important Properties

Denavit-Hartenberg Parameters

The Denavit-Hartenberg (DH) convention, introduced by Jacques Denavit and Richard Hartenberg in 1955, provides a systematic method for assigning coordinate frames to robot links. It reduces the description of each link to exactly four parameters.

The Four DH Parameters

ParameterSymbolDescription
Link lengtha_iDistance along x_i from z_{i-1} to z_i (always positive or zero)
Link twistalpha_iAngle about x_i from z_{i-1} to z_i
Link offsetd_iDistance along z_{i-1} from x_{i-1} to x_i
Joint angletheta_iAngle about z_{i-1} from x_{i-1} to x_i

For a revolute joint, theta_i is the joint variable (varies during motion); the other three are fixed geometric constants. For a prismatic joint, d_i is the joint variable.

DH Transformation Matrix

Each link's transformation is computed as:

T_{i-1,i} = Rot_z(theta_i) * Trans_z(d_i) * Trans_x(a_i) * Rot_x(alpha_i)
T_{i-1,i} = [ cos(theta)  -sin(theta)*cos(alpha)   sin(theta)*sin(alpha)  a*cos(theta) ]
            [ sin(theta)   cos(theta)*cos(alpha)  -cos(theta)*sin(alpha)  a*sin(theta) ]
            [     0             sin(alpha)              cos(alpha)              d        ]
            [     0                 0                       0                   1        ]

Modified DH (Craig's Convention)

An alternative convention by John Craig places the coordinate frame at the proximal end of the link rather than the distal end. The transformation order becomes Rot_x(alpha_{i-1}) * Trans_x(a_{i-1}) * Rot_z(theta_i) * Trans_z(d_i). Both conventions are widely used; consistency is what matters. Industrial robots from ABB, KUKA, and FANUC typically use the standard (distal) convention in their documentation.

Example: 2-Link Planar Arm DH Table

Joint itheta_id_ia_ialpha_i
1theta_1 (var)0L10
2theta_2 (var)0L20

The forward kinematics gives: x = L1*cos(theta_1) + L2*cos(theta_1 + theta_2), y = L1*sin(theta_1) + L2*sin(theta_1 + theta_2). This is the simplest non-trivial example and is a standard homework problem in every robotics course.

Product of Exponentials (PoE)

An alternative to DH parameters, the Product of Exponentials formulation is based on Lie group theory and the exponential map from se(3) to SE(3). Popularized by Murray, Li, and Sastry (1994) and the Modern Robotics textbook by Lynch and Park.

Core Idea

Each joint is described by a screw axis S_i = (omega_i, v_i) in the home (zero) configuration. The forward kinematics is:

T(q) = e^{[S_1]*q_1} * e^{[S_2]*q_2} * ... * e^{[S_n]*q_n} * M

where M is the end-effector pose at the home configuration (all joints at zero), and e^{[S_i]*q_i} is the matrix exponential of the 4x4 twist matrix [S_i] scaled by the joint variable q_i.

Advantages over DH

Matrix Exponential

For a revolute joint with screw axis S = (omega, v) and joint angle theta:

e^{[S]*theta} = [ e^{[omega]*theta} (I*theta + (1-cos(theta))[omega] + (theta-sin(theta))[omega]^2) * v ]
[ 0 0 0 1 ]

where e^{[omega]*theta} is computed by Rodrigues' formula. This formulation is used in Drake, Pinocchio, and other modern robotics libraries.

Inverse Kinematics

Inverse kinematics (IK) is the problem of finding joint variables q = (q_1, ..., q_n) such that FK(q) = T_desired. This is fundamentally harder than forward kinematics because the mapping is generally many-to-one (multiple joint configurations can produce the same end-effector pose), and solutions may not exist if the desired pose is outside the workspace.

Analytical (Closed-Form) Solutions

For robots with specific geometric structures, IK can be solved in closed form using trigonometric identities. This is fast, exact, and enumerates all solutions. Pieper's theorem (1968) states that a 6-DOF robot with three consecutive revolute joint axes intersecting at a point (a spherical wrist) always admits a closed-form IK solution.

Common Analytical Techniques

Numerical Methods

When closed-form solutions are not available (redundant robots, non-standard geometries), numerical methods iteratively converge to a solution.

Number of Solutions

A 6-DOF robot can have up to 16 IK solutions for a given end-effector pose. In practice, elbow-up/elbow-down and wrist-flip configurations are the main solution branches. Redundant robots (7+ DOF) have infinitely many solutions, forming a self-motion manifold.

🤖 Inverse kinematics is the opposite question: "I want the robot hand HERE โ€” what should all the joint angles be?" It's like telling your arm "touch that cookie on the top shelf" and your brain instantly figures out how to bend your shoulder, elbow, and wrist to reach it!

The Jacobian

The Jacobian matrix J(q) maps joint velocities to end-effector velocities. It is the fundamental tool for differential kinematics, force analysis, singularity detection, and numerical IK.

v = J(q) * q_dot
where v = [v_x, v_y, v_z, omega_x, omega_y, omega_z]^T (6x1 twist)
and q_dot = [q_dot_1, ..., q_dot_n]^T (nx1 joint velocities)

Computing the Jacobian

For a serial chain, each column J_i of the Jacobian corresponds to joint i:

These quantities are extracted directly from the intermediate transformation matrices T_0i computed during forward kinematics.

Analytical vs Geometric Jacobian

Force/Torque Relationship

By the principle of virtual work, the Jacobian transpose maps end-effector forces/torques to joint torques:

tau = J(q)^T * F

This is used in force control, impedance control, and computing the load a robot can support at a given configuration.

Manipulability

Yoshikawa's manipulability measure w = sqrt(det(J * J^T)) quantifies how well the robot can move in all directions at a given configuration. When w = 0, the robot is at a singularity. The manipulability ellipsoid (eigenvalues/eigenvectors of J * J^T) visualizes directional dexterity.

Workspace Analysis

The workspace is the set of all positions (and orientations) the end-effector can reach. Understanding workspace geometry is essential for robot design and task planning.

Types of Workspace

L1+L2
|L1-L2|
Reachable workspace

Workspace Geometry

For a 2-link planar arm with link lengths L1 and L2 (L1 > L2), the reachable workspace is an annulus (ring) with inner radius |L1 - L2| and outer radius L1 + L2. For a 6-DOF anthropomorphic arm (like the PUMA 560 or KUKA KR series), the workspace is roughly a hollow sphere, with exclusion zones caused by joint limits, self-collisions, and singularity surfaces.

Factors Affecting Workspace

Singularities

A singularity is a configuration where the robot loses one or more degrees of freedom of motion. Mathematically, it occurs when the Jacobian loses rank: rank(J(q)) < min(m, n), where m is the task dimension (typically 6) and n is the number of joints.

Types of Singularities

Consequences of Singularities

Dealing with Singularities

Worked Examples

1. Two-Link Planar Arm (2-DOF)

The simplest non-trivial robot arm. Two revolute joints, both in the xy-plane.

Forward Kinematics:

x = L1*cos(q1) + L2*cos(q1 + q2)
y = L1*sin(q1) + L2*sin(q1 + q2)

Inverse Kinematics (geometric): Using the law of cosines:

cos(q2) = (x^2 + y^2 - L1^2 - L2^2) / (2*L1*L2)
q2 = atan2(+/-sqrt(1 - cos^2(q2)), cos(q2)) [two solutions: elbow up/down]
q1 = atan2(y, x) - atan2(L2*sin(q2), L1 + L2*cos(q2))

Jacobian:

J = [ -L1*sin(q1) - L2*sin(q1+q2)    -L2*sin(q1+q2) ]
    [  L1*cos(q1) + L2*cos(q1+q2)     L2*cos(q1+q2) ]

The determinant det(J) = L1*L2*sin(q2). Singularity occurs at q2 = 0 (arm fully extended) or q2 = pi (arm folded back).

2. SCARA Robot (4-DOF)

The Selective Compliance Assembly Robot Arm has 2 revolute joints for planar positioning, 1 prismatic joint for vertical motion, and 1 revolute joint for orientation. Popular for pick-and-place and PCB assembly.

JointTypethetadaalpha
1Rq10L10
2Rq20L2pi
3P0q300
4Rq4000

The SCARA's workspace is a cylindrical shell. IK decouples cleanly: q1 and q2 determine xy position (same as 2-link planar), q3 determines z height, q4 determines end-effector rotation.

3. Six-DOF Industrial Arm (PUMA 560)

The Unimation PUMA 560 is one of the most studied robots in history. It has 6 revolute joints with a spherical wrist (joints 4, 5, 6 axes intersect). DH parameters (standard convention):

Jointthetadaalpha
1q100-90deg
2q20431.8mm0
3q3149.1mm-20.3mm90deg
4q4433.1mm0-90deg
5q50090deg
6q6000

IK is solved by position-orientation decoupling: joints 1-3 position the wrist center, joints 4-6 orient the end-effector. The PUMA 560 has up to 8 IK solutions (2 shoulder x 2 elbow x 2 wrist configurations). Paul, Shimano, and Mayer published the complete closed-form solution in 1981.

4. Redundant 7-DOF Arm (KUKA LBR iiwa)

The KUKA LBR iiwa has 7 revolute joints, making it kinematically redundant (7 joints for a 6-DOF task). The extra DOF enables null-space motion: the robot can change its elbow position without moving the end-effector. This is exploited for obstacle avoidance, singularity avoidance, joint limit avoidance, and optimizing manipulability during task execution.

Real-World Applications

Industrial Manufacturing

ABB, FANUC, KUKA, and Yaskawa robots use optimized IK solvers for welding, painting, and assembly. Cycle times under 1 second require microsecond-level IK computation. Offline programming tools (RobotStudio, KUKA.Sim) rely on FK/IK for path planning.

Automotive, electronics, aerospace

Surgical Robotics

The Intuitive Surgical da Vinci system uses kinematic models of its 7-DOF instruments for teleoperation mapping. Wrist kinematics must be solved in real-time to map surgeon hand motions to instrument tip motions through a remote center of motion constraint.

Intuitive Surgical | ~9 million procedures

Computer Animation

IK is fundamental in character animation. Pixar, DreamWorks, and game engines (Unity, Unreal) use CCD, FABRIK, and analytical IK for skeletal animation. Foot placement on uneven terrain, hand reaching, and gaze direction all require real-time IK.

Entertainment, VR/AR, games

Legged Locomotion

Boston Dynamics' Spot and Atlas use kinematics to compute foot placements, body poses, and swing trajectories. Each leg is a serial chain; whole-body IK coordinates all four (or two) legs plus the torso to maintain balance and traverse terrain.

Boston Dynamics, Agility, Unitree

Space Robotics

The Canadarm2 on the ISS is a 7-DOF manipulator that uses kinematics for berthing spacecraft and maintaining the station. Its redundancy enables obstacle avoidance in the cluttered station environment. Latency-tolerant IK accounts for communication delays.

MDA / Canadian Space Agency

Prosthetics & Exoskeletons

Kinematic models of the human arm (7-DOF) and leg (6-DOF) are used to design prosthetic limbs and powered exoskeletons. IK ensures natural-looking motion patterns. Ekso Bionics and ReWalk use kinematic models for gait generation.

Rehabilitation, assistive technology

References & Further Reading

Lynch & Park: Modern Robotics (2017)

Free textbook with rigorous treatment of kinematics using the PoE formulation. Chapters 4-6 cover FK, velocity kinematics, and IK. Companion Coursera course available.

Cambridge University Press | Free PDF

Siciliano et al: Robotics (2009)

Graduate-level textbook. Chapters 2-3 cover DH parameters, FK, IK, and differential kinematics in detail. The Jacobian treatment is particularly thorough.

Springer | Advanced Textbooks in Control

Murray, Li & Sastry: A Mathematical Introduction to Robotic Manipulation (1994)

The original treatment of robotics using Lie groups and the product of exponentials. Chapters 2-3. Free PDF available from the authors.

CRC Press | Classic reference

Denavit & Hartenberg (1955)

"A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices." The original paper introducing DH parameters. Published in ASME Journal of Applied Mechanics.

ASME | Foundational paper

Yoshikawa (1985): Manipulability of Robotic Mechanisms

Introduced the manipulability measure w = sqrt(det(J*J^T)) and the manipulability ellipsoid. Fundamental for workspace quality analysis and robot design optimization.

IJRR | 3000+ citations

Stanford CS223A: Introduction to Robotics

Oussama Khatib's course with video lectures. Lectures 2-8 cover kinematics, Jacobians, and IK in detail. The best video resource for learning robot kinematics.

Stanford Engineering Everywhere | Free