Inverse kinematics by damped Gauss-Newton

CS 549 · session 3.2 · two-link arm, l1 = 0.4 m, l2 = 0.3 m · drag the target ★, press Step or Run.

Controls

0.001

Readouts

The update is q ← q + J♯(q)(y* − φ(q)) with J♯ = (JᵀJ + ρI)⁻¹Jᵀ (Spring 2026 deck 03 p.56 with K = I, D = ρI). ρ = 0 is Gauss-Newton; ρ > 0 is damped Gauss-Newton (Levenberg–Marquardt methods adapt ρ); the gradient-descent option replaces J♯ by αJᵀ with Armijo. Ghost arms are the iterates; the chart is log₁₀ of the residual ‖φ(q) − y*‖ per iteration.

Default state: the unreachable target (0.75, 0.05) with plain Gauss-Newton. Press Run: the steps blow up as the arm straightens (det J → 0). Then raise ρ, or tick Armijo, and Run again: the arm settles on the boundary, pointing at the target.