I'm learning about inverse kinematics with Jacobians, and getting a little confused. So, let's say I have a robot arm with two joints with angles
Y = (a, b) whose tip I want to move along a certain direction in 2D space
X = (u, v). The Jacobian
J tells me how much the arm will move in 3D space, with respect to rotations of the joints:
J = dY/dX. Then, in order to move the arm in a certain direction, I can find the inverse of the Jacobian
J-inv, and then multiply this by the 3D direction I want the tip to move in:
X = J_inv * Y.
However, let's say that at a particular joint configuration, the first joint (with angle
a) is much more able to move the tip in the desired direction, than the second joint. So,
dY/da >> dY/db. Intuitively, it would therefore make sense that greater velocity is given to the first joint than the second joint, to take advantage of this.
But this does not seem to be the case. If
X = J_inv * Y, then
J_inv will cause a greater response from the joint which finds it harder to move the tip in the desired direction, i.e. the second joint, because
J_inv is effectively finding
db\dY, which is greater than
So why would the joint which finds it harder to move the tip along the desired direction, actually be given a higher velocity than the joint which finds it easier?