multi_joint_link Interface

public interface multi_joint_link

Contents


Module Procedures

private function mjl_init(frames, mass, inertia, cg) result(rst)

Initializes a new multi_joint_link instance.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in), dimension(:,:,:) :: frames

A 4-by-4-by-N array containing the transformation matrix for each of the N joint coordinate frames. Each matrix maps coordinates from the corresponding joint frame into the link's body frame.

real(kind=real64), intent(in), optional :: mass

The mass of the link. If no value is specified, a value of 1 is used.

real(kind=real64), intent(in), optional :: inertia(3,3)

The 3-by-3 inertia tensor. If not specified, an identity matrix is used.

real(kind=real64), intent(in), optional :: cg(3)

The x-y-z location of the CG relative to the link's body coordinate frame. If not supplied, the CG is set to (0, 0, 0).

Return Value type(multi_joint_link)

The resulting multi_joint_link object.