Jacobian methods for inverse 
kinematics and planning
Slides from Stefan Schaal
USC, Max Planck
The Inverse Kinematics 
Problem 
  Direct Kinematics 
 
Inverse Kinematics 
x = f θ( )
θ= f −1 x( )
  Possible Problems of Inverse Kinematics 
Infinitely many solutions 
  Multiple solutions 
 
  No solutions 
  No closed-form (analytical solution) 
Analytical (Algebraic) 
Solutions 
  Analytically invert the direct kinematics equations and 
enumerate all solution branches 
  Note: this only works if the number of constraints is the same as 
the number of degrees-of-freedom of the robot 
  What if not? 
 
 
Iterative solutions 
Invent artificial constraints 
  Examples 
  2DOF arm 
  See S&S textbook 2.11 ff 
Analytical Inverse Kinematics 
of a 2 DOF Arm 
y
l1
l2
γ
e
x
 
Inverse Kinematics: 
x = l1 cosθ1 + l2 cos θ1 +θ2
y = l1 sinθ1 + l2 sin θ1 +θ2
)
(
(
)
⎛
⎝⎜
l = x2 + y2
2 + l2 − 2l1lcosγ
l2
2 = l1
⇒γ = arccos l2 + l1
2 − l2
2
⎞
2l1l
⎠⎟
y
x = tanε    ⇒   θ1 = arctan y
⎞
θ2 = arctan
⎠⎟ −θ1
y − l1 sinθ
x − l1 cosθ1
x −γ
⎛
⎝⎜
Iterative Solutions of 
Inverse Kinematics 
  Resolved Motion Rate Control 
x = J θ( ) θ     ⇒
θ= J θ( )# x
 
  Properties 
  Only holds for high sampling rates or low Cartesian velocities 
  “a local solution” that may be “globally” inappropriate 
  Problems with singular postures 
  Can be used in two ways: 
  As an instantaneous solutions of “which way to take “ 
  As an “batch” iteration method to find the correct configuration at a target 
Essential in Resolved Motion 
Rate Methods: The Jacobian 
  Jacobian of direct kinematics: 
x = f θ( )     ⇒
∂x
∂θ
∂f θ( )
∂θ
=
= J θ( )
Analytical
Jacobian
  In general, the Jacobian (for Cartesian positions and 
orientations) has the following form (geometrical 
Jacobian): 
pi is the vector from the origin of the world coordinate system to the origin of the i-th link coordinate 
system, p is the vector from the origin to the endeffector end, and z is the i-th joint axis (p.72 S&S)
The Jacobian Transpose 
Method 
Δθ=αJ T θ( )Δx
  Operating Principle: 
-  Project difference vector Dx on those dimensions q which can reduce it 
the most 
  Advantages: 
-  Simple computation (numerically robust) 
-  No matrix inversions 
  Disadvantages: 
-  Needs many iterations until convergence in certain configurations (e.g., 
Jacobian has very small coefficients) 
  Unpredictable joint configurations 
  Non conservative 
Jacobian Transpose 
Derivation 
Minimize cost function  F =
=
with respect to θ by gradient descent:
1
(
)T xtarget − x
(
2 xtarget − x
1
(
2 xtarget − f (θ)
)
)T xtarget − f (θ)
(
)
Δθ = −α ∂F
∂θ
T
⎞
⎠⎟
⎛
⎝⎜
(
T
⎞
⎠⎟
⎛
⎝⎜
)T ∂f (θ)
=α xtarget − x
∂θ
(
)
=αJ T (θ) xtarget − x
=αJ T (θ)Δx