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)
Full algorithm
Input: g_D (desired pose), Theta_0 (initial config), alpha (step size), epsilon (tolerance), max_iter Theta = Theta_0 for t = 1 to max_iter: g_current = FK(Theta) error_g = g_D @ inv(g_current) V_D = vee(logm(error_g)) # 6-vector twist error if ||V_D|| < epsilon: return Theta # converged J = spatial_jacobian(Theta) # Option A: Pseudoinverse (away from singularities) dTheta = alpha * pinv(J) @ V_D # Option B: Damped least squares (near singularities) # dTheta = alpha * J.T @ inv(J @ J.T + lam^2 * I) @ V_D # Option C: Redundant with null-space (n > 6) # dTheta = alpha * pinv(J) @ V_D + (I - pinv(J) @ J) @ w Theta = Theta + dTheta return Theta # may not have converged
Damped Least Squares Near Singularity
A 2R arm at (near full extension) with desired radial velocity :
Comparing pseudoinverse vs. damped : , .
Singular values of
Pseudoinverse: in the singular direction—physically unrealizable.
Damped (): contribution —bounded and smooth. The end-effector won’t perfectly track the radial command, but joint velocities stay reasonable.