Generalities
This is a relatively technical post. Its purpose is mainly to teach myself why the Jacobian transpose is so useful when doing inverse kinematics.
We are going to solve the following problem:
We have a mechanism with effectors applying forces whose components are given by
, with
going from 1 to
. The required power is provided by a series of torques, whose components are called
, where
goes from 1 to
. Get the required values of
as a function of
.
Jacobian
Let’s call the angular coordinate associated with the torque components
and
the normal (“linear”) coordinate of the effector associated with the force component
. In most useful cases, the positions of the effectors can be expressed as a function of the angular coordinates,
. The Jacobian will be the linearization of this relationship around some point
,
.
Virtual work
If we can ignore inertia forces (either because we are dealing with a purely static problem or because inertia is negligible), we can get
,
where is the infinitesimal linear displacement associated with the force component
and
is the infinitesimal angular displacement associated with the torque component
.
Putting things together
As the previous expression uses infinitesimal movements, we can use the Jacobian to relate the linear displacements to the angular ones:
.
If we replace that result in the virtual work equation,
,
and we do some rearrangements, we get an expression with infinitesimal angular displacements in both sides:
.
As the infinitesimal angular displacements are arbitrary, their factors should match:
.
By representing this equation in matrix form,
,
we see how we arrive naturally to the Jacobian transpose.