Automatic Geometric Decomposition for Analytical Inverse Kinematics

Daniel Ostermeier,Jonathan Külz,Matthias Althoff
2024-09-23
Abstract:Calculating the inverse kinematics (IK) is fundamental for motion planning in robotics. Compared to numerical or learning-based approaches, analytical IK provides higher efficiency and accuracy. However, existing analytical approaches require manual intervention, are ill-conditioned, or rely on time-consuming symbolic manipulation. In this paper, we propose a fast and stable method that enables automatic online derivation and computation of analytical inverse kinematics. Our approach is based on remodeling the kinematic chain of a manipulator to automatically decompose its IK into pre-solved geometric subproblems. We exploit intersecting and parallel joint axes to assign a given manipulator to a certain kinematic class and the corresponding subproblem decomposition. In numerical experiments, we demonstrate that our decomposition is orders of magnitudes faster in deriving the IK than existing tools that employ symbolic manipulation. Following this one-time derivation, our method matches and even surpasses baselines, such as IKFast, in terms of speed and accuracy during the online computation of explicit IK solutions. Finally, we provide a C++ toolbox with Python wrappers that, for the first time, enables plug-and-play analytical IK within less than a millisecond.
Robotics
What problem does this paper attempt to address?
The paper attempts to address the problem of efficiently and accurately computing Inverse Kinematics (IK) in robotics. Compared to numerical methods or learning-based methods, Analytical Inverse Kinematics (AIK) has significant advantages in terms of efficiency and accuracy. However, existing analytical methods have drawbacks such as requiring manual intervention, being conditionally unstable, or relying on time-consuming symbolic operations. Therefore, this paper proposes a fast and stable method that can automatically derive and compute analytical inverse kinematics online. Specifically, the study aims to: 1. **Automate the derivation and computation of analytical inverse kinematics**: By re-modeling the motion chain of the robotic arm, the inverse kinematics problem is automatically decomposed into pre-solved geometric sub-problems to achieve this goal. 2. **Improve computation speed and stability**: Compared to existing tools, this method is several orders of magnitude faster in deriving inverse kinematics, and its speed and accuracy in online computation of explicit inverse kinematics solutions can match or even surpass baseline methods such as IKFast. 3. **Provide an open-source toolbox**: For the first time, a C++ toolbox and its Python wrapper are provided, enabling plug-and-play analytical inverse kinematics in less than one millisecond. Through these contributions, the study not only enhances the practicality and efficiency of analytical inverse kinematics but also lowers the usage threshold, making it more applicable in fields such as robotic arm design and modular robots.