Table of Contents
Fetching ...

IK-Geo: Unified Robot Inverse Kinematics Using Subproblem Decomposition

Alexander J. Elias, John T. Wen

TL;DR

IK-Geo tackles the general $6$-DOF inverse kinematics problem by decomposing it into six canonical geometric subproblems, enabling either closed-form solutions or reduced-dimension searches while guaranteeing all IK branches and robustness near singularities. It unifies robot kinematics into kinematic families based on axis intersecting/parallelism, achieving substantial speedups over traditional symbolic solvers (e.g., >$40\times$ faster than IKFast for UR5) and providing continuous, least-squares, or singular-solutions as needed. The implementation in MATLAB and Rust is open-source and portable, with a clear pathway to extensions for other robots and to parallelization, while also offering a polynomial-method perspective via tangent half-angle substitution for analysis. By combining fast geometry-based IK with connections to algebraic approaches, IK-Geo delivers a practical, complete, and scalable toolkit for real-time IK, trajectory planning, and robotics research.

Abstract

This paper presents the open-source robot inverse kinematics (IK) solver IK-Geo, the fastest general IK solver based on published literature. In this unifying approach, IK for any 6-DOF all-revolute (6R) manipulator is decomposed into six canonical geometric subproblems solved by intersecting circles with other geometric objects. We present new efficient and singularity-robust solutions to these subproblems using geometric and linear algebra methods. IK-Geo finds all IK solutions including singular solutions and sometimes least-squares solutions by solving for subproblem solutions in all cases, including in a continuous and sometimes least-squares sense when a solution does not exist. Robots are classified into kinematic families based on cases of intersecting or parallel joint axes, and robots in the same family use the same IK algorithm. 6R robots with three intersecting or parallel axes are solved in closed form, and all solutions are found exactly without iteration. Other 6R robots are efficiently solved by searching for zeros of an error function of one or two joint angles. The subproblem and IK solutions are easy to understand, implement, test, and modify, meaning this method is readily ported to new languages and environments. We connect our geometric method with less efficient but more robust polynomial-based methods: rather than using search, subproblems and error functions may be written in terms of the tangent half-angle of one joint. This results in a system of multivariate polynomial equations from which the univariate polynomial with zeros corresponding to IK solutions is readily derived.

IK-Geo: Unified Robot Inverse Kinematics Using Subproblem Decomposition

TL;DR

IK-Geo tackles the general -DOF inverse kinematics problem by decomposing it into six canonical geometric subproblems, enabling either closed-form solutions or reduced-dimension searches while guaranteeing all IK branches and robustness near singularities. It unifies robot kinematics into kinematic families based on axis intersecting/parallelism, achieving substantial speedups over traditional symbolic solvers (e.g., > faster than IKFast for UR5) and providing continuous, least-squares, or singular-solutions as needed. The implementation in MATLAB and Rust is open-source and portable, with a clear pathway to extensions for other robots and to parallelization, while also offering a polynomial-method perspective via tangent half-angle substitution for analysis. By combining fast geometry-based IK with connections to algebraic approaches, IK-Geo delivers a practical, complete, and scalable toolkit for real-time IK, trajectory planning, and robotics research.

Abstract

This paper presents the open-source robot inverse kinematics (IK) solver IK-Geo, the fastest general IK solver based on published literature. In this unifying approach, IK for any 6-DOF all-revolute (6R) manipulator is decomposed into six canonical geometric subproblems solved by intersecting circles with other geometric objects. We present new efficient and singularity-robust solutions to these subproblems using geometric and linear algebra methods. IK-Geo finds all IK solutions including singular solutions and sometimes least-squares solutions by solving for subproblem solutions in all cases, including in a continuous and sometimes least-squares sense when a solution does not exist. Robots are classified into kinematic families based on cases of intersecting or parallel joint axes, and robots in the same family use the same IK algorithm. 6R robots with three intersecting or parallel axes are solved in closed form, and all solutions are found exactly without iteration. Other 6R robots are efficiently solved by searching for zeros of an error function of one or two joint angles. The subproblem and IK solutions are easy to understand, implement, test, and modify, meaning this method is readily ported to new languages and environments. We connect our geometric method with less efficient but more robust polynomial-based methods: rather than using search, subproblems and error functions may be written in terms of the tangent half-angle of one joint. This results in a system of multivariate polynomial equations from which the univariate polynomial with zeros corresponding to IK solutions is readily derived.
Paper Structure (28 sections, 82 equations, 8 figures, 5 tables)

This paper contains 28 sections, 82 equations, 8 figures, 5 tables.

Figures (8)

  • Figure 1: General 6R robot arm with $h_i$ as the $i$th joint axes and ${\mathcal{O}}_i$ as the origin of frame $i$, placed anywhere along $h_i$. Inverse kinematics can be solved using Subproblem 5 and a 2D search over two of the joint angles.
  • Figure 2: Some cases for simplified robot inverse kinematics. (a) Spherical wrist. (b) Spherical wrist and two intersecting axes. (c) Spherical wrist and two parallel axes. (d) Three parallel axes. (e) Two intersecting axes. (f) Two parallel axes. (g) Two nonconsecutive intersecting axes.
  • Figure 3: Error function for a robot with axes 5 and 6 intersecting. For this end effector pose there are four IK solutions corresponding to the four zeros of the error function. There are four branches in this error function corresponding to the four solutions of Subproblem 5. For a given input, the error function has anywhere from zero values (e.g., $q_4 = \pi/2$) to four values (e.g., $q_4 = -\pi/2$).
  • Figure 4: Subproblem 1 finds the angle of the closest point on the circle $\textit{R}(k,\theta)p_1$ to the point $p_2$. This is the angle of $x_{LS}$ in the coordinate frame in the circle plane formed by $(-{k^\times}^2 p_1, k^\times p_1)$, where $x_{LS}$ is the projection of $p_2$ to the plane containing the circle.
  • Figure 5: Subproblem 2 finds the angles of the closest points on the two circles $\textit{R}(k_1,\theta_1)p_1$ and $\textit{R}(k_2,\theta_2)p_2$. (a) Two intersecting circles with two intersection points. The solutions are found along the intersection of the planes containing the circles. (b) Two non-intersecting circles. The minimizing solution is the angle of the minimum-norm point on the intersection of the two planes containing the circles.
  • ...and 3 more figures

Theorems & Definitions (9)

  • Remark 1: Alternative Subproblem Solutions
  • Remark 2: Alternate Decomposition
  • Remark 3: Linear Solution
  • Remark 4: Skew Axes
  • Remark 5: Intersecting Axes
  • Remark 6: Parallel Axes
  • Remark 7: Coplanar Axes
  • Remark 8: Decomposition to Subproblem 6
  • Remark 9: Simplified Case