Inverse kinematics

Level AdvancedDifficulty ★★★★★Application⌖ Open in the map

What is it?

Find joint angles that place the hand at a target: solve f(q)=p∗f(q) = p^\ast. Usually iteratively with the Jacobian — Newton/Gauss–Newton steps Δq=J+(p∗−f(q))\Delta q = J^+(p^\ast - f(q)), or damped least squares near singularities. Game engines use it to plant feet and aim hands.

Formulas

Δq=J𝖳(JJ𝖳+λ2I)−1(p∗−f(q))\Delta q = J^{\mathsf T}\big(JJ^{\mathsf T} + \lambda^2 I\big)^{-1}\big(p^\ast - f(q)\big)
damped least squares (Levenberg–Marquardt)

The mathematics behind it

  • Jacobian matrix★★★★★fundamental

    IK solvers iterate Δq=J+Δp\Delta q = J^{+}\Delta p (pseudo-inverse) or damped least squares.

  • Newton's method★★★★★frequent

    Solving for joint angles that reach a target is a Newton (Gauss–Newton) iteration with the robot Jacobian.

  • Intermediate value theorem★★★★★indirect

    Existence arguments of the type "some joint angle reaches this position" are intermediate-value arguments.

This page has the essentials. A fuller treatment (intuition, formal definition, worked example) is on the way.

↑ ↓ to navigate · ↵ · Esc