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 .
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 ,
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.