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.

Properties

(PK1 Solution) Project and onto the plane perpendicular to the axis through the axis point . The angle is the signed angle between the projected vectors and in that plane. Explicitly: .

(PK2 Solution) The two rotations compose as . By applying to both sides: . Both sides are constrained to circles on a sphere centered at the intersection point, and the problem reduces to finding their intersection. The number of solutions (0, 1, or 2) depends on whether the circles intersect.

(PK3 Solution) The distance constraint reduces to a single equation in after projecting onto the plane perpendicular to . The problem becomes: find where a circle (the orbit of under rotation) intersects a sphere of radius centered at . This yields 0, 1, or 2 solutions.

(Strategy for Full IK) For a 6R arm with intersecting wrist axes: (1) use the wrist intersection point to decouple position from orientation, (2) solve for the first 3 joints using PK2 + PK1 (or PK3) to place the wrist point correctly, (3) solve for the last 3 wrist joints using PK1 or PK2 to achieve the desired orientation.