Robot control
Inverse kinematics
Definition
Inverse kinematics finds joint positions that produce a desired robot end-effector position, orientation, or other geometric task. A target can have multiple solutions, no solution, or a continuous family of solutions.
Also known as: IK
Updated
Finding a posture for a target
A command such as placing a gripper at a handle specifies a task in Cartesian space. IK seeks a robot configuration whose forward kinematics matches that target. The task may constrain only position or may also constrain orientation.
Modern Robotics illustrates why the answer need not be unique: an arm can reach the same point with different elbow postures. A target outside the workspace has no solution.
Analytical and numerical methods
An analytical solver uses formulas derived for a particular mechanism. A numerical solver iteratively updates an initial guess to reduce pose error, often using a robot Jacobian. The numerical IK lesson explains this through Newton-Raphson iteration.
The initial guess affects which solution an iterative method finds and whether it converges. A failed numerical solve alone does not prove that the target is unreachable.
A pose is not a complete motion
IK does not automatically provide a collision-free path to the result. Joint limits and other constraints must be included where relevant. MIT's constrained differential IK formulation explicitly accounts for position, velocity, and acceleration limits. Planning and control still determine how the robot gets to and tracks the chosen posture.
Sources
Related terms
Forward kinematics
Forward kinematics calculates the position and orientation of a robot link or end-effector from the robot geometry and joint positions. It maps a robot configuration to a pose.
Robot Jacobian
A robot Jacobian is a configuration-dependent matrix that maps joint velocities to a chosen task velocity, often an end-effector twist. It describes the local relationship between joint motion and task motion.
Redundant manipulator
A redundant manipulator has more independent joint-motion variables than are needed for its specified end-effector task. This can allow different joint motions or postures to produce the same task result.