Skip to content
Home
Robot Kinematics: Forward and Inverse Kinematics Explained

Robot Kinematics: Forward and Inverse Kinematics Explained

Robotics Robotics 9 min read 1731 words Intermediate ExcellentWiki Editorial Team

Robot kinematics is the study of motion without regard to the forces that cause it. For robotic manipulators, kinematics describes the relationship between joint positions and the position and orientation of the end-effector. This mathematical foundation is essential for any application where a robot must move its arm or hand to a specified pose — welding, assembly, pick-and-place, surgery, and countless other tasks. This guide covers the Denavit-Hartenberg convention, forward kinematics, inverse kinematics, velocity kinematics with Jacobians, the product of exponentials formula, parallel robot kinematics, and trajectory generation.

Kinematics Fundamentals

A robotic manipulator consists of rigid links connected by joints. Each joint adds degrees of freedom (DOF) to the mechanism. Typical industrial manipulators have six degrees of freedom: three for positioning the wrist center in space and three for orienting the end-effector. A six-DOF manipulator can reach any pose (position plus orientation) within its workspace — known as a six-degree-of-freedom system with a spherical wrist satisfying Pieper’s criterion.

A kinematic chain is the sequence of links and joints from the robot base to the end-effector. Open-chain manipulators — the most common industrial type — have a single chain from base to end-effector. Closed-chain manipulators, such as parallel robots (Stewart platforms, delta robots), have multiple chains supporting a single end-effector platform, providing higher stiffness and precision at the cost of a smaller workspace. The workspace of a manipulator is the set of all reachable end-effector positions. The dexterous workspace is the subset reachable with any orientation. Singularities — configurations where the robot loses one or more degrees of freedom — occur at workspace boundaries and internally where joint axes align.

Craig provides the authoritative textbook treatment of robotics kinematics, covering DH parameters, inverse kinematics, and Jacobians in depth (Craig, Introduction to Robotics: Mechanics and Control, 4th ed., Pearson, 2017).

Denavit-Hartenberg Convention

The Denavit-Hartenberg (DH) convention provides a systematic method for assigning coordinate frames to each link of a robotic manipulator. By following the DH rules, the transformation from the base frame to the end-effector frame can be computed by multiplying four elementary transformations per joint. The DH parameters for each joint are: aᵢ (link length — distance along xᵢ from zᵢ to zᵢ₊₁), αᵢ (link twist — angle about xᵢ from zᵢ to zᵢ₊₁), dᵢ (link offset — distance along zᵢ from xᵢ₋₁ to xᵢ), and θᵢ (joint angle — angle about zᵢ from xᵢ₋₁ to xᵢ). For a revolute joint, θᵢ is the variable; for a prismatic joint, dᵢ is the variable.

Consider a standard six-axis industrial robot. Each joint’s DH parameters define a 4×4 homogeneous transformation matrix:

Tᵢ = Rot(z, θᵢ) × Trans(z, dᵢ) × Trans(x, aᵢ) × Rot(x, αᵢ)

Multiplying these matrices in order from joint 1 to joint 6 gives the forward kinematics transformation — the end-effector pose relative to the base. Modified DH (Craig’s convention) shifts the axis attachment, which changes the matrix multiplication order. Both conventions are valid; the critical requirement is internal consistency. Confusing standard and modified DH is a common source of kinematic errors.

Product of Exponentials Formula

An alternative to DH parameters is the product of exponentials (PoE) formula, based on screw theory. PoE describes the kinematics using the exponential map from the Lie algebra se(3) to the Lie group SE(3). Each joint is represented by a screw axis Sᵢ expressed in either the space frame or the body frame. The forward kinematics becomes:

T(θ) = e^{[S₁]θ₁} × e^{[S₂]θ₂} × … × e^{[Sₙ]θₙ} × M

where M is the home configuration of the end-effector. The PoE formulation has advantages over DH: it eliminates the need for link coordinate frame assignment, handles arbitrary joint axis orientations without special cases, and provides a more natural connection to velocity and statics analysis through screw theory.

Murray, Li, and Sastry provide the definitive treatment of the PoE approach in their robotics textbook (Murray, Li, and Sastry, A Mathematical Introduction to Robotic Manipulation, CRC Press, 1994). The PoE formulation is increasingly adopted in modern robotics software frameworks for its mathematical elegance and computational convenience.

Forward Kinematics

Forward kinematics computes the end-effector pose given joint positions. For a six-axis robot, given θ₁ through θ₆, compute the position vector and rotation matrix of the end-effector frame relative to the base. The computation is straightforward: multiply the six transformation matrices in sequence. Forward kinematics is unique — for a given set of joint angles, there is exactly one end-effector pose. This uniqueness makes forward kinematics computationally efficient and numerically stable.

Libraries such as the ROS TF2 package provide forward kinematics through the robot_description URDF model rather than requiring explicit DH parameter programming. TF2 maintains the full kinematic tree and provides lookup capabilities for the transformation between any two frames at any time. Practical forward kinematics also computes intermediate link poses for collision checking and visualization — the position of link 3 determines where the upper arm is in space, needed to verify the arm does not collide with objects in the workspace.

Inverse Kinematics

Inverse kinematics (IK) solves the reverse problem: given a desired end-effector pose, find the joint angles that achieve it. This is fundamentally more difficult than forward kinematics. IK may have zero solutions (pose outside workspace), one solution, or multiple solutions (elbow-up vs elbow-down configurations).

Analytical IK solves the problem in closed form by exploiting geometric structure. For manipulators satisfying Pieper’s criterion — three consecutive joint axes intersect at a common point — the IK problem decouples into position and orientation subproblems (Pieper and Roth, “The Kinematics of Manipulators Under Computer Control,” Proceedings of the 2nd International Congress on the Theory of Machines and Mechanisms, 1969). Most six-axis industrial manipulators have a spherical wrist (the last three axes intersect), enabling analytical IK. The solution involves computing the wrist center position from the desired end-effector pose, solving for the first three joints geometrically, then computing the wrist joints from the residual orientation.

Numerical IK uses iterative methods: start from an initial guess and refine joint angles using the Jacobian inverse or transpose. Cyclic coordinate descent (CCD) adjusts one joint at a time, minimizing the error between current and desired end-effector pose. Damped least squares (the Levenberg-Marquardt method) handles singularities robustly by adding a damping factor to the Jacobian pseudo-inverse. Numerical IK is essential for robots that do not satisfy Pieper’s criterion, for redundant manipulators (more than 6 DOF), or when joint limits prevent analytical IK solutions.

Parallel Robot Kinematics

Parallel robots (Stewart platforms, hexapods, delta robots) use multiple kinematic chains connecting the base to the end-effector. Their kinematics differ fundamentally from serial manipulators. Forward kinematics is difficult (multiple solutions exist for a given set of joint positions), while inverse kinematics is straightforward (determining joint positions for a given end-effector pose is unique).

The Stewart-Gough platform consists of a fixed base and moving platform connected by six variable-length legs. The forward kinematics involves solving six nonlinear equations in six unknowns — a system with up to 40 real solutions in the general case. Numerical methods are used in practice. Delta robots, popular for high-speed pick-and-place, use three parallelogram arms to constrain the end-effector to pure translation. Their forward kinematics reduces to solving a three-dimensional trilateration problem with two solutions.

Velocity Kinematics and Jacobians

The Jacobian matrix J maps joint velocities to end-effector velocities: v_ee = J(q) × q_dot. For a six-DOF manipulator, J is a 6×n matrix where n is the number of joints. The first three rows map to linear velocity; the last three map to angular velocity. The Jacobian is fundamental for resolved-rate motion control: given a desired end-effector velocity, compute required joint velocities by inverting the Jacobian.

At singular configurations, the Jacobian loses rank, and the inverse does not exist. Near singularities, small end-effector velocities require infinitely large joint velocities — a practical problem that resolved-rate control must handle through damped pseudo-inverses or by reducing task velocity near singularities. Jacobian analysis also determines manipulability, a measure of how easily the robot can move in each direction at a given configuration. Yoshikawa’s manipulability measure w = sqrt(det(J × Jᵀ)) provides a scalar metric for singularity proximity (Yoshikawa, “Manipulability of Robotic Mechanisms,” International Journal of Robotics Research, vol. 4, no. 2, pp. 3–9, 1985).

Trajectory Generation

Trajectory planning computes joint position, velocity, and acceleration profiles that move the robot from start to goal along a specified path while respecting kinematic and dynamic limits. Point-to-point motion uses interpolated joint-space trajectories. A fifth-order polynomial (minimum jerk trajectory) provides continuous acceleration, reducing vibration and wear compared to trapezoidal velocity profiles.

Cartesian trajectories maintain specified end-effector orientation and path geometry, important for tasks like arc welding or adhesive application where the tool must follow a specific spatial path. Linear interpolation in Cartesian space between waypoints, with orientation interpolated using spherical linear interpolation (SLERP) on quaternions. Blend radii at path vertices smooth transitions between trajectory segments — the robot begins transitioning to the next segment before reaching the current waypoint, maintaining continuous velocity through the corner.

FAQ

What is the difference between forward and inverse kinematics?

Forward kinematics computes end-effector pose from joint angles — it is unique and computationally straightforward. Inverse kinematics computes joint angles from a desired end-effector pose — it may have zero, one, or multiple solutions and is more computationally demanding.

Why do industrial robots have six axes?

Six degrees of freedom allow the robot to position the end-effector anywhere in the workspace (3 DOF) and orient it arbitrarily (3 DOF). Fewer than six DOF limits either positioning or orientation capability.

How do robots avoid singularities?

Singularity avoidance is handled at several levels: path planners avoid singular configurations when possible, trajectory generators reduce task velocity when approaching singularities, and damped pseudo-inverse methods provide stable but approximate solutions when the manipulator is near-singular.

What is the Denavit-Hartenberg convention used for?

DH parameters provide a standardized, minimal representation for the geometry of a robotic kinematic chain. They encode the relative position and orientation of each joint’s coordinate frame using four parameters per joint, enabling systematic forward kinematics computation.

Can inverse kinematics be solved on embedded hardware?

Analytical IK for six-axis manipulators with spherical wrists runs in microseconds on any modern microcontroller. Numerical IK typically requires 10–100 microseconds per iteration and converges within 5–20 iterations, remaining feasible for embedded implementation.


Related: Explore path planning for how kinematic models integrate with collision-free motion planning. Study robot simulation for visualizing and testing kinematic solutions. See the robotics software architecture guide for implementing kinematics in ROS.

Section: Robotics 1731 words 9 min read Intermediate 756 articles in section Report inaccuracy Back to top