// the find
Phylliade/ikpy
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.