Robotics
Inverse Kinematics
Computing joint angles from a desired end-effector position
Inverse kinematics (IK) computes the joint angles that place a robot's end-effector at a target position and orientation. Forward kinematics is straightforward (multiply transforms); inverse is hard. Closed-form solutions exist for common 6-DOF arms (Pieper's solution for spherical wrists). Iterative numerical methods (Jacobian transpose, damped least squares, CCD) handle general cases. Multiple solutions and singularities complicate the problem. Critical to robotic arms, animation, motion capture, and surgical robotics.
- Forward kinematicsJoint angles to end-effector — easy
- Inverse kinematicsEnd-effector to joint angles — hard
- MethodsClosed-form, Jacobian, CCD, optimization
- Multiple solutionsElbow up vs down, wrist flip
- SingularitiesConfigurations where Jacobian loses rank
- DOFNeed at least 6 for full pose in 3D
Interactive visualization
Press play, or step through manually. The visualization is yours to drive — try it before reading on.
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
Why inverse kinematics matters
- Robotic arms. Pick-and-place, welding, painting, assembly.
- Animation. Posing characters by goal positions.
- Motion capture. Mapping marker data to skeleton angles.
- Surgical robots. Precise tool positioning around constraints.
- Humanoids. Foot placement, balance, reaching.
- VR/AR. Avatar limb posing from headset and controller.
- Manufacturing. CNC tool path planning for 5+ axis machines.
Common misconceptions
- Always solvable. Targets outside the workspace have no solution.
- One solution. Multiple valid configurations exist.
- Iterative converges always. Local minima trap gradient methods.
- Singularities are rare. Many natural poses pass through them.
- 6 DOF suffices. Obstacles or joint limits may need redundancy.
- Joint limits ignored. Real robots can't reach all theoretical configurations.
Frequently asked questions
What is inverse kinematics?
Given a target position and orientation for the robot's end-effector (gripper or tool tip), compute joint angles that achieve it. The reverse of forward kinematics, which goes joint angles to end-effector. IK is harder because multiple joint configurations may reach the same target, some unreachable, and equations are nonlinear trigonometric.
When are closed-form solutions available?
Six-DOF arms with the last three axes intersecting at a point (a spherical wrist) admit Pieper's closed-form solution: solve position with the first three joints, then orientation with the wrist. Common industrial arms (PUMA, KUKA, Fanuc) follow this design specifically to enable closed-form IK. Other geometries require numerical methods.
How does the Jacobian method work?
The Jacobian J relates joint velocities to end-effector velocities: x-dot = J theta-dot. Inverting (or pseudo-inverting) gives theta-dot = J-inverse times x-dot. Iterate small steps toward the target. Damped least squares stabilizes near singularities. Doesn't always converge to global solution but works for redundant manipulators (more than 6 DOF).
What is a singularity?
A joint configuration where the Jacobian loses rank, meaning end-effector velocity in some direction cannot be produced by any joint motion. Wrist singularities occur when two wrist axes align; shoulder singularities when the elbow fully extends or retracts. Near singularities, joint speeds approach infinity to produce small end-effector motions. Path planning avoids them.
Why are there multiple solutions?
Geometric ambiguity. A 6-DOF arm typically has up to 8 valid joint configurations reaching the same pose: elbow up vs down, shoulder forward vs back, wrist flipped. The IK solver picks one based on heuristics (closest to current pose, avoid joint limits, minimize travel). Continuous trajectories must avoid configuration switches that cause large jumps.
What about redundant arms?
Arms with more than 6 DOF (humanoid arms, surgical robots) have a continuum of solutions. The null space of the Jacobian represents motions that change joint angles without moving the end-effector. Useful for avoiding obstacles, joint limits, or singularities while holding the tool steady. Optimization picks among the redundant solutions.
What is cyclic coordinate descent?
A simple iterative IK method. Loop through joints from end-effector back to base. For each joint, rotate to point the end-effector toward the target. Repeat until convergence. Easy to implement, works for unusual chain geometries, popular in animation. Slower than analytic methods, may miss global optima, but robust enough for many real-time applications.