Skip to content
Last Dictionary

inverse kinematics

nounAlso: IK, IK solver, inverse kinematic solver

In plain wordsWorking backward from where you want a robot's hand to be to the joint angles that will put it there, like working out how to bend your arm to touch your nose.

  1. The problem of computing the joint settings that will bring a robot's end effectorend effector, n.: The tool at the end of a robot arm that actually touches the world, such as a gripper, suction cup, welding torch, paint sprayer or robotic hand., or another point such as a foot, to a desired pose — forward kinematicsforward kinematics, n.: The math that works out where a robot's hand or tool ends up, given the angles of all its joints, by chaining together the movement each joint adds. run in reverse. It is harder because the mapping is nonlinear and may have no solution (the target is out of reach), finitely many (a six-joint arm with a spherical wrist has up to eight) or infinitely many (a redundant arm with seven or more degrees of freedomdegrees of freedom, n.: The number of independent ways something can move. A robot arm with six motorized joints has six; a free-floating object can slide three ways and turn three ways.). Closed-form solutions exist for many industrial arm geometries and are fast; general chains are solved numerically by iterating with the JacobianJacobian, n.: A table listing how each output of a process responds to a small change in each input. It describes how a transformation locally stretches, squeezes and turns space. — using its transpose, its pseudoinverse or damped least squares, which stays stable near singularities, where the arm loses the ability to move in some direction — or by nonlinear optimization with joint limits, collision constraints and preferences such as staying near a rest posture. Heuristic solvers such as cyclic coordinate descent and FABRIK are popular in animation. Inverse kinematics converts Cartesian goals from planners and learned policies into joint commands.

    The IK solver found no solution because the target was behind the robot's own shoulder.

Δq=J⊤(JJ⊤+λ2I)−1e\Delta\mathbf{q} = J^{\top}\left(J J^{\top} + \lambda^{2} I\right)^{-1} \mathbf{e}

Origin

Closed-form solutions for six-joint arms were systematized in Donald Pieper's 1968 Stanford PhD thesis, which showed that arms whose last three axes intersect can be solved analytically; numerical Jacobian methods, including damped least squares (Charles Wampler; Yoshihiko Nakamura and Hideo Hanafusa, both 1986), followed in the 1980s.

Usage note

Inverse kinematics yields joint positions only; computing the joint torques that produce a desired motion is inverse dynamics, a different problem. The formula shows one damped-least-squares step, where e is the pose error and λ the damping.

Related

See also
  • forward kinematicsforward kinematics, n.: The math that works out where a robot's hand or tool ends up, given the angles of all its joints, by chaining together the movement each joint adds.
  • JacobianJacobian, n.: A table listing how each output of a process responds to a small change in each input. It describes how a transformation locally stretches, squeezes and turns space.
  • degrees of freedomdegrees of freedom, n.: The number of independent ways something can move. A robot arm with six motorized joints has six; a free-floating object can slide three ways and turn three ways.
  • end effectorend effector, n.: The tool at the end of a robot arm that actually touches the world, such as a gripper, suction cup, welding torch, paint sprayer or robotic hand.
  • motion planningmotion planning, n.: Working out how a robot should move from where it is to where it needs to be, without hitting anything and within the limits of what its body can do.
  • trajectory optimizationtrajectory optimization, n.: Calculating the best way for a robot to move over time, choosing exact positions, speeds and forces moment by moment so the motion is smooth, fast or energy-efficient and avoids obstacles.
Contrast with
  • forward kinematicsforward kinematics, n.: The math that works out where a robot's hand or tool ends up, given the angles of all its joints, by chaining together the movement each joint adds.

Sources

  1. Pieper, D. L. (1968). The Kinematics of Manipulators under Computer Control. PhD thesis, Stanford University.
  2. Lynch, K. M. & Park, F. C. (2017). Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press.

Mentioned in

degrees of freedomdegrees of freedom, n.: The number of independent ways something can move. A robot arm with six motorized joints has six; a free-floating object can slide three ways and turn three ways., end effectorend effector, n.: The tool at the end of a robot arm that actually touches the world, such as a gripper, suction cup, welding torch, paint sprayer or robotic hand., manipulationmanipulation, n.: A robot's use of arms, hands or grippers to change the world around it: picking things up, moving, pushing, opening, assembling or using tools., motion planningmotion planning, n.: Working out how a robot should move from where it is to where it needs to be, without hitting anything and within the limits of what its body can do., forward kinematicsforward kinematics, n.: The math that works out where a robot's hand or tool ends up, given the angles of all its joints, by chaining together the movement each joint adds., trajectory optimizationtrajectory optimization, n.: Calculating the best way for a robot to move over time, choosing exact positions, speeds and forces moment by moment so the motion is smooth, fast or energy-efficient and avoids obstacles.