Skip to content

IKPy v4.2.1

Choose a tag to compare

@Phylliade Phylliade released this 26 Oct 10:06
· 11 commits to master since this release
v4.2.1
7e83dfb

What's new in v4.2.1

Patch release for two bugs found while going through the open issues after 4.2.0.

🎯 IK no longer stalls on a joint limit

inverse_kinematics could return its starting point untouched, with values around 1e-10, when the initial position had every joint at zero and one of them sat exactly on a bound, typically a prismatic joint with lower="0". SciPy's trust-region solver nudges such a point by 1e-10 and takes the norm of the starting point as its initial trust radius, so the first step was negligible and the stopping criterion fired at once. The starting point is now kept a small margin inside the bounds on both backends, and an initial position outside the bounds is clipped with a warning instead of being refused. Closes #142.

🧮 DH links work with the JAX backend

A chain built from DHLinks gave wrong forward kinematics and meaningless IK with backend="jax", silently: the backend dispatched DH links to a joint type that had no branch, and lax.switch clamped it to the fixed-link branch. The JAX backend now carries the DH parameters and evaluates both conventions, classic and modified, with the same formulas as the NumPy backend. Closes #183.