Paden–Kahan Subproblems
The Paden–Kahan subproblems provide geometric building blocks for analytic inverse kinematics of revolute joints:
- Subproblem 1 (PK1): Rotation about a single axis. Given a unit twist (zero pitch) and points , find such that
A solution exists if and only if and lie in the same plane perpendicular to the rotation axis and are equidistant from that axis. The solution, when it exists, is unique.
- Subproblem 2 (PK2): Rotation about two intersecting axes. Given two intersecting revolute axes , find , such that
Geometrically, the problem reduces to the intersection of two circles on a sphere centered at the intersection point of the axes. The number of solutions is 0, 1, or 2.
- Subproblem 3 (PK3): Rotation to a specified distance. Given a revolute axis , points , and a distance , find such that
This reduces to planar geometry using projections onto a plane perpendicular to the axis. The number of solutions is 0, 1, or 2.These subproblems can be strategically combined to isolate and solve joint variables sequentially. A common strategy is to apply both sides of the kinematic equation to carefully chosen points on or near joint axes, reducing the unknowns to one of the canonical subproblems.
Intuition
The Paden–Kahan subproblems work by converting algebraic equations involving matrix exponentials into elementary geometric problems (intersections of circles, arcs on spheres, distance constraints). The key technique is to choose a “witness point”—a specific point in 3D space—and apply both sides of the kinematic equation to it. This collapses the matrix equation into a vector equation that has a geometric interpretation (rotation of a point around an axis to a target).
For example, to solve the first joint in , you might choose a point on the axis of . Since fixes points on its own axis, applying both sides to eliminates (and all subsequent variables), reducing to , which is PK1.