Jacobian Inverse Kinematics

Jacobian-based inverse kinematics uses the Jacobian to iteratively solve the inverse kinematics problem numerically. Rather than finding a closed-form solution, the algorithm linearizes the forward kinematic map at each step and takes a small step in joint space toward the desired pose.

Given a desired pose and a current configuration , the spatial velocity needed to correct the pose error is extracted using the matrix logarithm:

which gives the twist that would carry the current end-effector pose to the desired pose in one exponential step. The joint update is then

where is the pseudoinverse of the spatial Jacobian and is a step size. The algorithm iterates until .

Near singularities, the pseudoinverse amplifies noise and produces enormous joint velocities. Damped least squares (Levenberg–Marquardt) regularizes this by solving

which is the solution to the regularized problem . The damping parameter trades off tracking accuracy for bounded joint velocities.

For redundant manipulators (), the pseudoinverse provides a minimum-norm joint velocity, and the remaining null-space freedom can be used for secondary objectives:

where is an arbitrary vector and projects it into .

Local Method Paden–Kahan subproblems), analytic methods are preferred when available.

Jacobian IK is a local, iterative method. It can converge to a local minimum (especially when the target is unreachable), may oscillate near singularities, and does not enumerate all solutions. For manipulators with closed-form IK (e.g., via

Intuition

The Jacobian IK algorithm is essentially Newton’s method applied to the equation on the Lie group . At each iteration, the “error” between the current and desired pose is measured not by subtracting matrices (which is meaningless for elements of ) but by computing the relative transform and taking its logarithm. The logarithm maps the error from back to the Lie algebra , where it becomes a twist vector that can be linearly related to joint velocities via the Jacobian. This is the natural generalization of Newton’s method to manifold-valued functions.

Damped least squares can be understood geometrically: instead of inverting the Jacobian exactly (which blows up when singular values are small), it “shrinks” the inverse of each singular value from to . Large singular values are barely affected, but small ones are smoothly attenuated, preventing the explosion. The cost is reduced accuracy in the singular directions—the end-effector may not reach the exact target along those directions, but the joint velocities remain bounded.

The null-space projection for redundant arms allows the manipulator to “use its extra joints” for a secondary task (like maximizing manipulability, avoiding joint limits, or dodging obstacles) without affecting the primary end-effector tracking. The projection kills any component of that would change the end-effector velocity, keeping only the self-motion component.

Properties

The Matrix Logarithm on

(Definition) For with , the logarithm recovers the twist and angle such that . The rotational part uses the log map to find from . The translational part solves where


giving .

(Error Twist) The twist is the error expressed in the spatial frame. When , . The body-frame variant uses and the body Jacobian.

Pseudoinverse Methods

(Moore–Penrose Pseudoinverse) For with (redundant or square), the right pseudoinverse gives the minimum-norm solution to the underdetermined system . For , the left pseudoinverse gives the least-squares solution.

(Via SVD) If , then where replaces each nonzero with . This makes the singular-value amplification explicit: near a singularity, and .

Damped Least Squares

(Formulation) Solve . The solution is


Equivalently, via SVD: each singular value contribution replaces the pseudoinverse’s .

(Damping Parameter) recovers the pseudoinverse. Larger gives smoother, bounded joint velocities at the cost of tracking accuracy. In practice, can be adapted: small when far from singularities ( large), increased as .

(Convergence) Damped least squares converges linearly. The algorithm does not guarantee reaching the exact target at a singularity—the damping term prevents the last bit of correction in the singular direction. This is acceptable because the alternative (infinite joint velocity) is physically impossible.

Redundant Manipulators and Null-Space Optimization

(Null-Space Projection) For with , the general solution to is


where is arbitrary. The matrix is the orthogonal projector onto : it satisfies , , and .

(Secondary Objectives) Common choices for include:

  • Manipulability maximization: , pushing the configuration toward higher manipulability.
  • Joint-limit avoidance: where penalizes proximity to joint limits.
  • Obstacle avoidance: chosen to increase distance from obstacles.
    Since , the secondary objective does not affect the end-effector velocity.

(7-DoF Example) A 7-DoF arm (e.g., KUKA iiwa) has a 1D null space at non-singular configurations. The self-motion is an “elbow swivel”—the elbow traces a circle while the wrist position and orientation remain fixed. This extra DoF allows the arm to reach around obstacles or avoid joint limits.

Step Size Selection

(Constant Step Size) . Smaller increases stability but slows convergence. corresponds to a full Newton step.

(Adaptive Step Size) When is large, a small prevents overshooting; when is small, can be increased for faster convergence. A common heuristic is .

Examples

Jacobian IK Algorithm (Pseudocode)

Damped Least Squares Near Singularity

A 2R arm at (near full extension) with desired radial velocity :