FA-87980 / Inverse kinematics solvers / Member archive
FABRIK backward pass interpolates from the wrong joint · case 05
Joints are placed at the complementary fraction of the segment and link lengths are not preserved.
Case contract
Input [points, target, tol, iters]: planar joint positions from base to tip. Link lengths come from the initial points. If the base-to-target distance exceeds the total length, stretch every link toward the target and return ["unreachable", points]. Otherwise run FABRIK passes (tip to target and backward, base re-anchored, forward) while the tip is farther than tol and fewer than iters passes ran; return [status, passes, points] with status "reached" when the final tip error <= tol else "max-iterations"; coordinates rounded to 4 places.
Why this case matters
Inverse kinematics code turns task-space goals into joint commands; a wrong branch, sign, limit or update order sends a real arm to the wrong pose.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| two links bend up | ["max-iterations", 10, [[0.0, 0.0], [0.7071, 0.7071], [1.4142, 1.4142]]] | ["reached", 1, [[0.0, 0.0], [1.0, 0.0], [1.0, 1.0]]] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗