Robotics in Manufacturing

Motion

Inverse Kinematics

Inverse kinematics is the calculation that turns a desired tool position and orientation in Cartesian space into the joint angles a robot must hold to reach it.

What it is

Inverse kinematics (IK) answers the question a robot faces every time you jog in world coordinates or program a Cartesian point: given where I want the tool tip to be, and how I want it oriented, what does each joint have to do? It runs backward from forward kinematics, which goes the easy direction, joint angles in, tool pose out.

The hard part is that the answer usually isn't unique. A six-axis arm can often reach the same point and orientation with the elbow up or elbow down, the wrist flipped, or the base rotated to approach from behind. IK has to pick one of those solution branches, and the choice matters for reach, clearance, and whether the next move stays smooth.

How it actually works

For a standard 6-axis arm with a spherical wrist (the last three axes intersecting at a point), IK splits into two solvable halves. The wrist center position is found first from the tool pose, which pins down the first three joints (base, shoulder, elbow) and gives the arm geometry. The last three joints then resolve the orientation. That decoupling is why many industrial arms have a closed-form solution: the joint angles come straight out of trig and geometry, no iteration.

When the geometry doesn't decouple cleanly, or the arm has redundant axes, the controller falls back to numerical methods, iterating with the Jacobian until the solution converges. Either way, the controller solves IK afresh at every interpolation step along a Cartesian path, which is why a straight-line move is really a fast stream of joint-angle targets, and near a singularity the math degenerates: small tool moves demand huge joint speeds, and the solver can lose a clean answer entirely.

How it differs

  • Forward Kinematics · Forward kinematics goes joint angles to tool pose and has exactly one answer. Inverse kinematics goes the other way and typically has several valid answers (elbow up/down, wrist flip), so the controller has to choose a solution branch.
  • Singularity · A singularity is a pose where the inverse kinematics degenerates. The arm can physically hold the pose while the mapping from Cartesian velocity to joint velocity blows up, so joint speeds spike for a tiny tool move.

Where you meet it in the field

  • Setting the reference position · Jogging in Cartesian (world/tool) coordinates runs inverse kinematics live, so the reference position and mastering have to be correct or the solved joint angles will be off.
  • Arc welding · A straight weld seam is solved by inverse kinematics at each interpolation step; passing near a wrist singularity mid-seam is where these paths stumble.

Common questions

If IK has multiple solutions, how does the robot pick one?
The controller uses configuration flags (elbow up/down, wrist flip, and so on) stored with the taught point, and it prefers the branch closest to the current pose to avoid a big reconfiguration move. When you teach a point, the configuration you were in gets recorded, which is why replaying a point can sometimes swing the arm through an unexpected posture if the config doesn't match.
Why does a straight-line motion sometimes fail when a point-to-point move to the same spot works fine?
A joint (point-to-point) move interpolates joint angles and lets the path in between fall where it will. A linear move forces the tool to hold a straight Cartesian path, so the controller solves IK at every step along that line. If that line passes through or near a singularity, the required joint speeds spike and the move faults out while the endpoints alone stay reachable.
Is inverse kinematics the same as the Jacobian?
They are different. IK maps a full pose to joint angles (a position-level problem), while the Jacobian maps velocities, joint rates to tool velocity, and its inverse is used inside numerical IK solvers and in velocity control. A singularity is exactly where the Jacobian loses rank and can't be inverted, which is why singularities show up as IK problems.

Related terms