Robot Kinematics
Overview
Kinematics studies the geometric and motion relationships between robot links, without involving forces or torques. It is the most fundamental analytical tool in robotics, divided into two main directions: forward kinematics (FK) and inverse kinematics (IK).
graph LR
A["Joint Space<br/>q = (q₁, q₂, ..., qₙ)"] -->|Forward Kinematics FK| B["Task Space<br/>x = (x, y, z, φ, θ, ψ)"]
B -->|Inverse Kinematics IK| A
style A fill:#e8f4fd,stroke:#2196F3
style B fill:#fff3e0,stroke:#FF9800
Prerequisites
This article assumes the reader is familiar with homogeneous transformation matrices and coordinate frame descriptions. See Coordinate Systems and Transformations for details.
1 DH Parameters and Forward Kinematics
1.1 Denavit-Hartenberg Convention
DH parameters (Denavit & Hartenberg, 1955) describe the spatial relationship between adjacent links using 4 parameters:
| Parameter | Symbol | Meaning |
|---|---|---|
| Link Length | \(a_i\) | Distance along \(x_i\) from \(z_{i-1}\) to \(z_i\) |
| Link Twist | \(\alpha_i\) | Rotation angle about \(x_i\) from \(z_{i-1}\) to \(z_i\) |
| Link Offset | \(d_i\) | Distance along \(z_{i-1}\) from \(x_{i-1}\) to \(x_i\) |
| Joint Angle | \(\theta_i\) | Rotation angle about \(z_{i-1}\) from \(x_{i-1}\) to \(x_i\) |
Revolute vs. Prismatic Joints
- Revolute Joint: \(\theta_i\) is the joint variable; the other three are constants
- Prismatic Joint: \(d_i\) is the joint variable; the other three are constants
1.2 Adjacent Link Homogeneous Transformation Matrix
The transformation from frame \(\{i-1\}\) to frame \(\{i\}\) can be decomposed into four elementary transformations:
Expanding yields the complete \(4 \times 4\) homogeneous transformation matrix:
1.3 Forward Kinematics Solution
For an \(n\)-DOF robot, the end-effector pose relative to the base is the chain product of all adjacent transformations:
Example: 2-DOF Planar Manipulator
Assume two revolute joints with link lengths \(l_1, l_2\). DH parameter table:
| Link | \(\theta_i\) | \(d_i\) | \(a_i\) | \(\alpha_i\) |
|---|---|---|---|---|
| 1 | \(\theta_1\) | 0 | \(l_1\) | 0 |
| 2 | \(\theta_2\) | 0 | \(l_2\) | 0 |
End-effector position:
2 Inverse Kinematics
2.1 Problem Definition
Given a desired end-effector pose \(T_{\text{desired}}\), solve for joint variables \(q = (\theta_1, \theta_2, \ldots, \theta_n)\):
Core challenges of inverse kinematics:
- Multiple Solutions: The same pose may correspond to multiple joint angle configurations
- No Solution: The target may be outside the workspace
- Singularity: At certain configurations, degrees of freedom degenerate
2.2 Geometric (Analytical) Method
Applicable to manipulators with simple structures (e.g., 2-link, 6-DOF with spherical wrist).
2-Link Planar Arm Inverse Solution Derivation:
Given end-effector position \((x, y)\), solve for \((\theta_1, \theta_2)\).
Step 1: Solve for \(\theta_2\) using the law of cosines
The \(\pm\) sign corresponds to elbow-up/elbow-down configurations
Step 2: Solve for \(\theta_1\) using \(\text{atan2}\)
2.3 Numerical Method (Newton-Raphson Iteration)
Applicable to manipulators with general configurations.
Basic Idea: Linearize forward kinematics \(f(q)\) at the current solution \(q_k\) and iteratively solve.
Complete Iterative Algorithm:
Input: Target pose x_d, initial guess q_0, tolerance ε, max iterations N
Output: Joint angles q*
q ← q_0
for k = 1 to N:
e ← x_d - f(q) # Pose error
if ||e|| < ε:
return q # Converged
J ← Jacobian(q) # Compute Jacobian
Δq ← J⁺ · e # Pseudoinverse for increment
q ← q + α · Δq # Step size α ∈ (0,1]
return FAILURE
Practical Recommendations
- When \(J\) is not square or near singular, use Damped Least Squares (DLS): \(\Delta q = J^T(JJ^T + \lambda^2 I)^{-1} e\)
- \(\lambda\) is the damping factor, which can be adaptively adjusted (Levenberg-Marquardt)
- Multiple random initializations help find global solutions
3 The Jacobian Matrix
3.1 Definition and Significance
The Jacobian matrix describes the linear mapping between joint velocities and end-effector velocities:
where \(\dot{x} \in \mathbb{R}^m\) is the end-effector velocity (including linear and angular velocity) and \(\dot{q} \in \mathbb{R}^n\) is the joint velocity.
For a spatial manipulator, \(m = 6\) (3 linear velocity + 3 angular velocity), and the Jacobian takes the form:
3.2 Methods for Computing the Jacobian
Method 1: Differentiation
Directly differentiate the forward kinematics equations.
Method 2: Geometric Method (more commonly used)
For revolute joint \(i\):
For prismatic joint \(i\):
where \(z_{i-1}\) is the rotation axis direction of joint \(i\), \(p_{i-1}\) is the position of joint \(i\), and \(p_n\) is the end-effector position.
3.3 Applications of the Jacobian
| Application | Formula |
|---|---|
| Velocity Mapping | \(\dot{x} = J \dot{q}\) |
| Force Mapping | \(\tau = J^T F\) |
| Inverse Kinematics | \(\dot{q} = J^{-1} \dot{x}\) (or pseudoinverse) |
| Redundancy Resolution | \(\dot{q} = J^{\dagger}\dot{x} + (I - J^{\dagger}J)\dot{q}_0\) |
4 Singularities
4.1 Definition
When the Jacobian matrix \(J(q)\) is rank-deficient, the robot is in a singular configuration:
4.2 Consequences of Singularity
- The end-effector loses degrees of freedom in certain directions
- Inverse kinematics joint velocities tend toward infinity
- Force transmission characteristics degenerate
4.3 Types of Singularities
| Type | Description | Example |
|---|---|---|
| Boundary Singularity | Arm fully extended or folded | 2-link arm fully straightened |
| Internal Singularity | Two joint axes aligned | Wrist gimbal lock |
4.4 Mitigation Methods
- Damped Least Squares (DLS): Adding a regularization term to prevent velocity explosion
- Singularity-Aware Planning: Avoiding singular regions during trajectory generation
- Redundant DOF: Using null-space motion to bypass singularities
5 Workspace
5.1 Definition
The set of all positions (and orientations) that the robot's end-effector can reach.
- Reachable Workspace: All points the end-effector can reach, regardless of orientation
- Dexterous Workspace: Points the end-effector can reach with arbitrary orientation
5.2 Influencing Factors
- Link lengths and DH parameters
- Joint motion range limits
- Joint types (revolute/prismatic)
- Mechanical interference and self-collision
5.3 Workspace Analysis Methods
- Analytical Method: Deriving boundary equations for simple mechanisms
- Numerical Method: Monte Carlo sampling + forward kinematics computation
- Manipulability Index: \(w = \sqrt{\det(J J^T)}\), quantifying distance from singularity
6 Advanced Topics
6.1 Redundant Robots
When degrees of freedom \(n > m\) (more joints than task space dimensions), the robot has kinematic redundancy. Null-space projection can be used to optimize secondary objectives:
where \(\dot{q}_0\) is an arbitrary velocity in the null space, which can be used for:
- Obstacle avoidance
- Staying away from joint limits
- Minimizing energy consumption
6.2 Humanoid Robot Kinematics
Humanoid robots (see Humanoid Robots) have highly redundant tree-structured kinematic chains. Their kinematic analysis requires:
- Floating base modeling (6-DOF virtual joint)
- Multiple end-effector constraints (bipedal contact, hand manipulation)
- Center of mass kinematics (\(x_{\text{CoM}} = \frac{1}{M}\sum m_i p_i\))
References
- Craig, J. J. (2005). Introduction to Robotics: Mechanics and Control. Pearson.
- Siciliano, B. et al. (2009). Robotics: Modelling, Planning and Control. Springer.
- Lynch, K. M. & Park, F. C. (2017). Modern Robotics. Cambridge University Press.
- Corke, P. (2017). Robotics, Vision and Control. Springer.