Phylliade/ikpy

IKPy, an Universal Inverse Kinematics library

What it solves

IKPy is a pure-Python library designed to compute the Inverse Kinematics (IK) of any robot. It allows users to determine the joint angles required to reach a specific target position and orientation, removing the need for complex manual calculations for every new robot configuration.

How it works

The library supports multiple ways to define a robot's kinematic chain, including importing from URDF or MuJoCo MJCF files, using Denavit-Hartenberg (DH) parameters, or custom representations. It computes IK in terms of position and orientation. For performance, it offers two backends: a standard NumPy-based approach and an experimental JAX backend that uses automatic differentiation to compute an analytical Jacobian, which is faster and more robust for complex chains (5+ joints) and trajectory tracking.

Who it’s for

It is intended for robotics researchers and developers who need a fast, easy-to-install Python tool for calculating joint positions for robotic arms, whether they are using real robots or simulators.

Highlights

  • Flexible Import: Automatically imports kinematic chains from URDF and MuJoCo MJCF files.
  • High Precision: Precise up to 7 digits with computation times ranging from 7ms to 50ms.
  • Backend Options: Optional JAX backend for accelerated IK via automatic differentiation.
  • Visualization: Built-in plotting capabilities to test algorithms without a physical robot.
  • Pure Python: Easy installation with no compilation required.

Related

  • Project
  • Project
  • Project
  • Project
  • Project