jacobian_generating_vector Function

public pure function jacobian_generating_vector(d, k, R, jtype) result(rst)

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.

Arguments

Type IntentOptional 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.

Return Value real(kind=real64), (6)

The resulting 6-element Jacobian generating vector.


Contents