While reading Kevin Lynch's "Modern Robotics" [1], I came across a fundamental question concerning the manipulator Jacobian. Upon better reading and further cross-checking with Peter Corke's "Robotics, Vision and Control" [2], I have managed to only confuse myself even more...

Kevin Lynch approaches kinematic representation of open chains with the product of exponentials (PoE) formula. In such representation, the space Jacobian $J_s(\theta) \in \mathbb{R}^{6 \times n}$ relates the joint rate vector $\dot{\theta} \in \mathbb{R}^{n}$ to the end-effector's twist expressed in fixed-frame coordinates $\mathcal{V}_s$ via $$ \mathcal{V}_s = J_s(\theta)\dot{\theta}. $$

A similar concept, the body Jacobian, relates the joint rate vector to the end-effector's twist in the end-effector frame coordinates via $$ \mathcal{V}_b = J_b(\theta)\dot{\theta}. $$

Finally, the relationship between both of the above is given by: $$ J_b(\theta) = [Ad_{T_{bs}}]J_s(\theta); $$ $$ J_s(\theta) = [Ad_{T_{sb}}]J_b(\theta). $$

Given the above, my question is:

Provided $J_b(\theta)$, how can I obtain the geometric Jacobian?

I tried looking into Peter Corke's book and I found the following subsection.

Screenshot taken from Peter Corke's book: Screenshot of 8.7.1

So, apparently, what I am looking for is that final equation. (?)

It seems that $\sideset{^0}{^\mathcal{V}}{J}$ in Corke's book refers to the same as what $J_b(\theta)$ refers to in Lynch's book.
But what does Corke mean exactly with "velocity transformation"?
Specifically, what exactly is the top-right 3x3 block of that 6x6 matrix pre-multiplication?

[1] Kevin M. Lynch and Frank C. Park, "Modern Robotics: Mechanics, Planning, and Control," Cambridge University Press, 2017. (http://modernrobotics.org)

[2] Peter Corke, "Robotics, Vision and Control: Fundamental Algorithms," Completely Revised. Vol. 118. Springer, 2017. (http://petercorke.com/wordpress/rvc/)


There are a lot of definitional problems and inconsistencies in this area.

  1. Geometric Jacobian. I'm not sure this has a precise and agreed upon meaning. But across the more classical robotics books (Siciliano etal., Spong etal., Corke) it relates joint velocities to end-effector velocity (translational and rotational) expressed in either the world or end-effector frame. I call this 6-vector a "spatial velocity" but this is a term that Feathersone also uses for a "velocity twist" (as per Park & Lynch). The Jacobian of Park & Lynch relates joint velocities to a velocity twist.

  2. The geometric Jacobian is distinct from the analytic Jacobian. The latter represents the rotational velocity of the end-effector in terms of the rate of change of some 3-angle parameterisation (eg. RPY or Euler angles).

  3. Translational and rotational velocity. This can be the translational and rotational components stacked into a 6-vector (Siciliano etal., Spong etal., Corke) or a velocity twist. The former is easy to understand in terms of how the end-effector is actually moving. The latter has very nice mathematical properties and is natural when coming at the problem from the Lie group/algebra perspective. The principle difference is that the translational velocity component of the velocity twist is the velocity of an imaginary point at the origin that is rigidly attached to the moving object. This means that the Park&Lynch Jacobian will be different to the Corke Jacobian, and the velocity transformations will also be different. The difference will in the sub matrices concerned with translational velocity.

As an author, the problem I confronted was trying to morph the first edition (very classical, based on the books I grew up with) into the second edition with what I hoped was an easy path to the mathematical tools that Park&Lynch have popularised. I am clearly not there yet...


According to the notation in Corke's book, it looks like that top-right 3x3 block that you're looking for is the translation from end effector frame E to base frame 0 represented in so(3).

It looks like the trouble here comes from viewing the velocity in different frames. Lynch's spatial twist (defined on page 99) differs from Corke's spatial velocity (defined in section 8.1).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.