Table of Contents
Fetching ...

HJCD-IK: GPU-Accelerated Inverse Kinematics through Batched Hybrid Jacobian Coordinate Descent

Cael Yasutake, Zachary Kingston, Brian Plancher

TL;DR

HJCD-IK is introduced, a GPU-accelerated, sampling-based hybrid solver that combines an orientation-aware greedy coordinate descent initialization scheme with a Jacobian-based polishing routine that enables this solver to improve both convergence speed and overall accuracy as compared to the state of the art.

Abstract

Inverse Kinematics (IK) is a core problem in robotics, in which joint configurations are found to achieve a desired end-effector pose. Although analytical solvers are fast and efficient, they are limited to systems with low degrees-of-freedom and specific topological structures. Numerical optimization-based approaches are more general, but suffer from high computational costs and frequent convergence to spurious local minima. Recent efforts have explored the use of GPUs to combine sampling and optimization to enhance both the accuracy and speed of IK solvers. We build on this recent literature and introduce HJCD-IK, a GPU-accelerated, sampling-based hybrid solver that combines an orientation-aware greedy coordinate descent initialization scheme with a Jacobian-based polishing routine. This design enables our solver to improve both convergence speed and overall accuracy as compared to the state-of-the-art, consistently finding solutions along the accuracy-latency Pareto frontier and often achieving order-of-magnitude gains. In addition, our method produces a broad distribution of high-quality samples, yielding the lowest maximum mean discrepancy. We release our code open-source for the benefit of the community.

HJCD-IK: GPU-Accelerated Inverse Kinematics through Batched Hybrid Jacobian Coordinate Descent

TL;DR

HJCD-IK is introduced, a GPU-accelerated, sampling-based hybrid solver that combines an orientation-aware greedy coordinate descent initialization scheme with a Jacobian-based polishing routine that enables this solver to improve both convergence speed and overall accuracy as compared to the state of the art.

Abstract

Inverse Kinematics (IK) is a core problem in robotics, in which joint configurations are found to achieve a desired end-effector pose. Although analytical solvers are fast and efficient, they are limited to systems with low degrees-of-freedom and specific topological structures. Numerical optimization-based approaches are more general, but suffer from high computational costs and frequent convergence to spurious local minima. Recent efforts have explored the use of GPUs to combine sampling and optimization to enhance both the accuracy and speed of IK solvers. We build on this recent literature and introduce HJCD-IK, a GPU-accelerated, sampling-based hybrid solver that combines an orientation-aware greedy coordinate descent initialization scheme with a Jacobian-based polishing routine. This design enables our solver to improve both convergence speed and overall accuracy as compared to the state-of-the-art, consistently finding solutions along the accuracy-latency Pareto frontier and often achieving order-of-magnitude gains. In addition, our method produces a broad distribution of high-quality samples, yielding the lowest maximum mean discrepancy. We release our code open-source for the benefit of the community.

Paper Structure

This paper contains 14 sections, 16 equations, 4 figures, 3 tables, 4 algorithms.

Figures (4)

  • Figure 1: Illustration of the CCD algorithm showing the position of the current end-effector ($P_{ee}$), current rotation joint ($P_j$), and target ($P_t$).
  • Figure 2: HJCD-IK leverages the large-scale parallelism available on modern GPUs through a two stage process. First, block-level parallelism is exploited across hundreds to low-thousands of candidate initializations. Each is optimized through warp-level parallelism per joint to compute the position and orientation updates respectively within each CCD phase. The underlying linear algebra for each computation is parallelized across threads. Second, tens to low-hundreds of high-quality candidates are further refined through block-level parallelism via a Jacobian-based polishing routine which also leverages warp- and thread-level parallelism for its underlying linear algebra and Jacobian computations.
  • Figure 3: Position vs. Orientation Error and Combined Error (mm and radians) of HJCD-IK (orange), CuRobo (blue), PyRoki (green), and IKFlow (purple) on the Panda Arm (Row 1) and Fetch Arm (Row 2) ranging from batch size $B \in \{1, 10, 100, 1000, 2000\}$. We find that across all batch sizes, our approach (shown in orange), is able to outperform state-of-the-art baselines in terms of latency, while also generally outperforming all baselines in terms of accuracy, remaining on or near the accuracy-latency Pareto frontier.
  • Figure 4: Position vs. Orientation Error and Combined Error (mm and radians) of HJCD-IK (orange), CuRobo (blue), and PyRoki (green) while varying the DoF of the synthetic arm under analysis. Overall, HJCD-IK remains on or near the accuracy-latency Pareto frontier across all DoFs