humanoidsdata.com

Search

Search companies, datasets, articles, and glossary terms for humanoids and embodied AI.

← All glossary terms

Hardware & control

Inverse kinematics

Inverse kinematics (IK) finds robot configurations that satisfy a desired position, orientation or other geometric constraints. It reverses the question asked by forward kinematics: instead of computing where a hand or foot is from the joint values, it searches for joint values that place it at a target. A target can have multiple solutions or no feasible solution.

Also known as: IK, robot inverse kinematics

Updated

From a target pose to a robot configuration

Forward kinematics computes a link's pose from the robot model and joint configuration. Inverse kinematics asks which configurations could achieve a target pose. For example, a humanoid reaching towards a handle needs joint values that place its hand at the handle with a suitable orientation.

The answer is not necessarily unique. Different elbow positions may place the hand at the same target, while a target outside the robot's reach has no solution. Modern Robotics explains numerical IK as a search for joint values whose forward-kinematics output matches the requested configuration.

Numerical solutions depend on the starting configuration

A common numerical method starts from an initial guess, measures the remaining pose error and uses a Jacobian to update the joint values. It repeats until the error is within a chosen tolerance or the solver stops. A Jacobian pseudoinverse can provide a local least-squares update when an ordinary matrix inverse is unavailable.

As Modern Robotics shows, the initial guess affects convergence and which solution is found. A failed local solve is therefore not, by itself, proof that the target is unreachable. When targets change gradually, the previous solution can be a useful starting guess for the next one.

Humanoid IK needs more than a hand target

A hand pose alone does not specify an acceptable whole-body posture. Joint limits, foot placement, self-collision and the surrounding geometry may also matter. These constraints must be included explicitly or checked separately; a basic pose solver does not enforce them automatically.

Tedrake's Robotic Manipulation notes describe IK as optimisation with geometric constraints and posture preferences. The humanoid examples add joint-centering objectives and static stability constraints alongside end-effector targets. This can help select a useful posture from several possible solutions.

A feasible posture is not a complete motion plan. It does not establish that the route to that posture is collision-free, or that the robot can execute the motion within its torque and contact limits. Trajectory planning and whole-body control address additional parts of that problem.

Keep IK-generated targets distinct from measurements

For motion retargeting, IK can translate human hand or foot targets into configurations of a robot with different proportions. The resulting joint values depend on the robot model, target frames, constraints, solver tolerances and starting guess.

When storing these results as training data, record those choices and distinguish requested poses, IK solutions and measured robot states. Include solver success and residual errors where available. A computed configuration is a proposed geometric solution, not evidence that the physical robot reached it safely.

Sources