DH Parameters, Forward Kinematics & the Geometric Jacobian
DH Parameters, Forward Kinematics & the Geometric Jacobian
The Denavit–Hartenberg (DH) convention provides a systematic 4-parameter description of each link-joint pair in a serial manipulator. From the DH table, the forward kinematic map is constructed as a chain of $4\times 4$ homogeneous transformation matrices. The geometric Jacobian then maps joint-space velocities to Cartesian end-effector velocities — the central object of robot velocity kinematics.
1. Denavit–Hartenberg Convention
For joint $i$, four parameters describe the geometry between frames $\{i-1\}$ and $\{i\}$:
- $a_i$ — link length (distance along $x_i$ from $z_{i-1}$ to $z_i$)
- $\alpha_i$ — link twist (angle from $z_{i-1}$ to $z_i$ about $x_i$)
- $d_i$ — link offset (distance along $z_{i-1}$ from $x_{i-1}$ to $x_i$)
- $\theta_i$ — joint angle (angle from $x_{i-1}$ to $x_i$ about $z_{i-1}$) — the variable for revolute joints
The homogeneous transformation from frame $i-1$ to frame $i$:
$${}^{i-1}T_i = \begin{pmatrix} c_{\theta_i} & -s_{\theta_i}c_{\alpha_i} & s_{\theta_i}s_{\alpha_i} & a_i c_{\theta_i} \\ s_{\theta_i} & c_{\theta_i}c_{\alpha_i} & -c_{\theta_i}s_{\alpha_i} & a_i s_{\theta_i} \\ 0 & s_{\alpha_i} & c_{\alpha_i} & d_i \\ 0 & 0 & 0 & 1 \end{pmatrix}$$
The forward kinematic map is the product: ${}^0T_n = {}^0T_1 \cdot {}^1T_2 \cdots {}^{n-1}T_n$.
2. Geometric Jacobian for a 2R Planar Robot
For an $n$-DOF robot with revolute joints, the geometric Jacobian $J \in \mathbb{R}^{6\times n}$ has columns:
$$J_i = \begin{pmatrix} z_{i-1} \times (p_e - p_{i-1}) \\ z_{i-1} \end{pmatrix}$$
where $z_{i-1}$ is the joint axis unit vector, $p_e$ is the end-effector position, and $p_{i-1}$ is the origin of frame $i-1$. For the 2R planar robot with links $L_1, L_2$ and joint angles $\theta_1, \theta_2$:
$$J = \begin{pmatrix} -L_1 s_1 - L_2 s_{12} & -L_2 s_{12} \\ L_1 c_1 + L_2 c_{12} & L_2 c_{12} \end{pmatrix}$$
The Jacobian maps $\dot{\mathbf{q}} = (\dot{\theta}_1, \dot{\theta}_2)^T$ to end-effector velocity $\dot{\mathbf{x}} = J \dot{\mathbf{q}}$. Singularities occur when $\det J = L_1 L_2 s_2 = 0$, i.e., when $\theta_2 = 0°$ (fully stretched) or $\theta_2 = \pm 180°$ (fully folded).
3. Singularity Analysis via SVD
The singular value decomposition $J = U \Sigma V^T$ reveals the manipulability ellipsoid. The smallest singular value $\sigma_{\min}$ measures distance to singularity; the manipulability measure is:
$$w = \sqrt{\det(JJ^T)} = \sigma_1 \sigma_2 \cdots \sigma_r$$
Motion planning algorithms avoid configurations where $w < w_{threshold}$, typically 5–10% of the maximum manipulability, to prevent joint velocity saturation.
Worked Example — 2R Robot Forward Kinematics
$L_1 = 0.5$ m, $L_2 = 0.4$ m, $\theta_1 = 45°$, $\theta_2 = -30°$. Then $s_1 = 0.7071$, $c_1 = 0.7071$, $s_{12} = s_{15°} = 0.2588$, $c_{12} = 0.9659$.
$$p_x = 0.5(0.7071) + 0.4(0.9659) = 0.3536 + 0.3864 = 0.7400\text{ m}$$
$$p_y = 0.5(0.7071) + 0.4(0.2588) = 0.3536 + 0.1035 = 0.4571\text{ m}$$
$\det J = L_1 L_2 s_{\theta_2} = 0.5 \times 0.4 \times \sin(-30°) = -0.1$ m² — well away from singularity. ✓
Practice Problems
Graphing Calculator
Statistics Calculator
| x |
|---|