Jacobian transpose vs pseudoinverse
29 Jul 2016
Let’s derive both celebrated algorithms from first order principles to see how
they differ from each other.
Jacobian transpose. Let be the desired state of the end-effector,
its current state corresponding to the joint configuration , and let
denote the Jacobian . Naive minimization of the
error in the Cartesian space
leads to the gradient descent algorithm
where is the step size.
Jacobian pseudoinverse. Consider a small change in the joint configuration
. It will lead to a small change in the state of the end-effector
. Since we want the end-effector to move in the
direction of , let’s assume that with
some positive . Question: “What is the smallest that
accomplishes that?” It is well-known that the minimum norm solution to an
underdetermined system of linear equations is given by the pseudoinverse. Thus,
we arrive at the following gradient descent algorithm:
where if has full row rank (which is ususally
the case).
Comparison. Note that both algorithms have
the form .
The difference between them is in the choice of .
Jacobian transpose algorithm sets the step in the Cartesian space
proportional to the distance to the goal ,
whereas Jacobian pseudoinverse accounts for the curvature of the space
in addition, .