FAILURE MAP
← Case archive

FA-87983 / Inverse kinematics solvers / Member archive

FABRIK forward pass uses link lengths in reversed order · case 03

Chains with unequal links come back with swapped segment lengths.

Member previewVariant 3 · 3 implementations · 7 checks per implementation

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 fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
pass budget exhausted["max-iterations", 2, [[0.0, 0.0], [1.0879, 1.0327], [0.5945, 0.9517], [-0.3512, 1.2769]]]["max-iterations", 2, [[0.0, 0.0], [0.809, 0.5878], [0.3308, 0.7337], [-0.9691, 1.4822]]]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 ↗