Paden–Kahan subproblems. Paden–Kahan subproblems are a set of solved geometric problems which occur frequently in inverse kinematics of common robotic manipulators. Although the set of problems is not exhaustive, it may be used to simplify inverse kinematic analysis for many industrial robots. Beyond the three classical subproblems several others have been proposed.

Simplification strategies 

For a structure equation defined by the product of exponentials method, Paden–Kahan subproblems may be used to simplify and solve the inverse kinematics problem. Notably, the matrix exponentials are non-commutative.

Generally, subproblems are applied to solve for particular points in the inverse kinematics problem (e.g., the intersection of joint axes) in order to solve for joint angles.

Eliminating revolute joints 

Simplification is accomplished by the principle that a rotation has no effect on a point lying on its axis. For example, if the point  is on the axis of a revolute twist , its position is unaffected by the actuation of the twist. To wit:

Thus, for a structure equationwhere ,  and  are all zero-pitch twists, applying both sides of the equation to a point  which is on the axis of  (but not on the axes of  or ) yieldsBy the cancellation of , this yieldswhich, if  and  intersect, may be solved by Subproblem 2.

Norm 

In some cases, the problem may also be simplified by subtracting a point from both sides of the equation and taking the norm of the result.

For example, to solvefor , where  and  intersect at the point , both sides of the equation may be applied to a point  that is not on the axis of . Subtracting  and taking the norm of both sides yields 
This may be solved using Subproblem 3.

List of subproblems 
Each subproblem is presented as an algorithm based on a geometric proof. Code to solve a given subproblem, which should be written to account for cases with multiple solutions or no solution, may be integrated into inverse kinematics algorithms for a wide range of robots.

Subproblem 1: Rotation about a single axis 
Let  be a zero-pitch twist with unit magnitude and  be two points. Find  such that 
In this subproblem, a point  is rotated around a given axis  such that it coincides with a second point .

Solution 
Let  be a point on the axis of . Define the vectors  and . Since  is on the axis of ,  Therefore, 

Next, the vectors  and  are defined to be the projections of  and  onto the plane perpendicular to the axis of . For a vector  in the direction of the axis of ,andIn the event that ,  and both points lie on the axis of rotation. The subproblem therefore yields an infinite number of possible solutions in that case.

In order for the problem to have a solution, it is necessary that the projections of  and  onto the  axis and onto the plane perpendicular to  have equal lengths. It is necessary to check, to wit, that:and that

If these equations are satisfied, the value of the joint angle  may be found using the atan2 function:Provided that , this subproblem should yield one solution for .

Subproblem 2: Rotation about two subsequent axes 

Let  and  be two zero-pitch twists with unit magnitude and intersecting axes. Let  be two points. Find  and  such that 
This problem corresponds to rotating  around the axis of  by , then rotating it around the axis of  by , so that the final location of  is coincident with . (If the axes of  and  are coincident, then this problem reduces to Subproblem 1, admitting all solutions such that .)

Solution 

Provided that the two axes are not parallel (i.e., ), let  be a point such that  In other words,  represents the point to which  is rotated around one axis before it is rotated around the other axis to be coincident with . Each individual rotation is equivalent to Subproblem 1, but it's necessary to identify one or more valid solutions for  in order to solve for the rotations.

Let  be the point of intersection of the two axes:Define the vectors ,  and . Therefore,

This implies that , , and . Since ,  and  are linearly independent,  can be written as

The values of the coefficients may be solved thus:, andThe subproblem yields two solutions in the event that the circles intersect at two points; one solution if the circles are tangential; and no solution if the circles fail to intersect.

Subproblem 3: Rotation to a given distance 

Let  be a zero-pitch twist with unit magnitude; let  be two points; and let  be a real number greater than 0. Find  such that 

In this problem, a point  is rotated about an axis  until the point is a distance  from a point . In order for a solution to exist, the circle defined by rotating  around  must intersect a sphere of radius  centered at .

Solution 

Let  be a point on the axis of . The vectors  and  are defined so that

The projections of  and  are  and  The “projection” of the line segment defined by  is found by subtracting the component of  in the  direction:The angle  between the vectors  and  is found using the atan2 function:The joint angle  is found by the formulaThis subproblem may yield zero, one, or two solutions, depending on the number of points at which the circle of radius  intersects the circle of radius .

Subproblem 4: Rotation about two axes to a given distance 

Let  and  be two zero-pitch twists with unit magnitude and intersecting axes. Let  be points. Find  and  such that  and 

This problem is analogous to Subproblem 2, except that the final point is constrained by distances to two known points.

Subproblem 5: Translation to a given distance 

Let  be an infinite-pitch unit magnitude twist;  two points; and  a real number greater than 0. Find  such that

References

Computational geometry
Robotic manipulation