Computes a single Jacobian generating vector given the position vector of the link origin, , and the joint axis unit vector, .
For a revolute joint:
For a prismatic joint:
The Jacobian matrix is then constructed from the Jacobian generating vectors as follows.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real64), | intent(in) | :: | d(3) |
The position vector of the end-effector, , relative to the link coordinate frame given in the base coordinate frame. An easy way to compute this vector is to extract the first 3 elements of the 4th column of the transformation matrix: . |
||
| real(kind=real64), | intent(in) | :: | k(3) |
The unit vector defining the joint axis, , given in the base coordinate frame. This vector can be computed most easily by using the transformation matrix: and then computing . |
||
| real(kind=real64), | intent(in) | :: | R(3,3) |
The rotation matrix defining the orientation of the link coordinate frame relative to the base coordinate frame. |
||
| integer(kind=int32), | intent(in) | :: | jtype |
The joint type. Must be either REVOLUTE_JOINT or PRISMATIC_JOINT. If incorrectly specified, the code defaults to a REVOLUTE_JOINT type. |
The resulting 6-element Jacobian generating vector.