Paden–Kahan subproblems
Paden–Kahan subproblems are a set of solved geometric problems which occur frequently in inverse kinematics of common robotic manipulators.[1] Although the set of problems is not exhaustive, it may be used to simplify inverse kinematic analysis for many industrial robots.[2]
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 equation
where , 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 ) yields
By the cancellation of , this yields
which, 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 solve
for , 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 ,
and
In 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:
, and
The 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 formula
This 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
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
- Paden, Bradley Evan (1985). "Kinematics and Control of Robot Manipulators". Ph.D. Thesis. Bibcode:1985PhDT........94P.
- Sastry, Richard M. Murray ; Zexiang Li ; S. Shankar (1994). A mathematical introduction to robotic manipulation (PDF) (1. [Dr.] ed.). Boca Raton, Fla.: CRC Press. ISBN 9780849379819.