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] Beyond the three classical subproblems several others have been proposed.[3][4]

Simplification strategies edit

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 edit

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 edit

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 edit

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 edit

 
An illustration of the first Paden–Kahan subproblem.
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  .

 
An illustration of the projected circle in the first Paden–Kahan subproblem.

Solution edit

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 edit

 
Illustration of Paden–Kahan Subproblem 2. 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.
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 edit

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:

 
 
An illustration of Paden–Kahan subproblem 2, showing the tangential case in which the subproblem yields only one solution.

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:

 
An illustration of Paden–Kahan subproblem 2, showing a case with two intersecting circles and therefore two solutions. Both solutions (c, c2) are highlighted.

 
 
, 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 edit

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 edit

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 edit

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 edit

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

References edit

  1. ^ Paden, Bradley Evan (1985). "Kinematics and Control of Robot Manipulators". Ph.D. Thesis. Bibcode:1985PhDT........94P.
  2. ^ 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.{{cite book}}: CS1 maint: multiple names: authors list (link)
  3. ^ Pardos-Gotor, Jose (2021). Screw Theory in Robotics: An Illustrated and Practicable Introduction to Modern Mechanics. doi:10.1201/9781003216858. ISBN 9781003216858. S2CID 239896825.
  4. ^ Elias, Alexander J.; Wen, John T. (2022-11-10). "Canonical Subproblems for Robot Inverse Kinematics". arXiv:2211.05737 [cs.RO].