finds.dev← search

// the find

Phylliade/ikpy

★ 1,009 · Python · Apache-2.0 · updated May 2026

IKPy, an Universal Inverse Kinematics library

IKPy is a pure-Python inverse kinematics library that computes joint angles for arbitrary robot arms given a target position and/or orientation. It parses URDF files directly, so you can drop in any robot description without manually transcribing DH parameters. Aimed at hobbyist robotics (Poppy, Baxter) and researchers who want a quick IK solution without pulling in ROS.

URDF import works well and covers the common case — you give it a robot description file and get a kinematic chain without hand-coding anything. The scipy-based optimizer is fast enough for real-time use (7–50ms per solve), and the pluggable IK method interface lets you swap in your own solver without touching the core. Built-in matplotlib visualization means you can sanity-check poses without a simulator. The dependency footprint (numpy, scipy, sympy) is genuinely minimal for what it does.

Maintenance is light — the commit history shows long quiet stretches, and open issues with reproducible bugs go unaddressed for months. The IK solver is gradient-based (L-BFGS-B under the hood), so it inherits all the usual local-minimum problems; there is no restart strategy or analytical fallback, which means you can get silently wrong poses in tricky configurations. Orientation support exists but is documented mostly through a single notebook, and quaternion handling has had accuracy edge cases reported in issues. No support for kinematic trees (branching chains) — you model each limb as a separate chain, which gets awkward for humanoids.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →