Class DependentRevoluteJoint


  • public class DependentRevoluteJoint
    extends DependentJoint
    Dependent revolute joints.

    DependentRevoluteJoint implements a revolute joint for which the rotation about the
    z-axis are linearly dependent on another joint.

    The parent to frame transform is T * Rz(q) where:

    - T is the displacement transform of the joint;

    - q = q_owner * scale + offset is the joint value of the joint;

    - Rz(q) is the transform that rotates a point an angle q about the
    z-axis.
    • Constructor Detail

      • DependentRevoluteJoint

        public DependentRevoluteJoint​(long cPtr,
                                      boolean cMemoryOwn)
    • Method Detail

      • getOwner

        public Joint getOwner()
        The joint controlling the passive revolute frame.
      • getScale

        public double getScale()
        The scaling factor for the joint value of the controlling joint.
      • getOffset

        public double getOffset()
        get offset of this joint value in relation to controlling joint
      • isControlledBy

        public boolean isControlledBy​(Joint joint)
        Description copied from class: DependentJoint
        Returns true if the DependentJoint is controlled by joint.

        A DependentJoint may depend on more than one joints.

        Overrides:
        isControlledBy in class DependentJoint
        Parameters:
        joint - [in] Joints to test with
        Returns:
        True if this is controlled by joint
      • calcQ

        public double calcQ​(State state)
        calculate the current q of this joint
        Parameters:
        state -
        Returns:
      • getJacobian

        public void getJacobian​(long row,
                                long col,
                                Transform3Dd joint,
                                Transform3Dd tcp,
                                State state,
                                Jacobian jacobian)
        Description copied from class: Joint
        Finds the Jacobian of the joints and adds it in jacobian.

        Calculates the Jacobian contribution to the device Jacobian when controlling a frame
        tcp and given a current joint pose joint.

        The values are stored from row row to row+5 and column col to
        col+(joint.getDOF()-1).

        Overrides:
        getJacobian in class Joint
        Parameters:
        row - [in] Row where values should be stored
        col - [in] Column where values should be stored
        joint - [in] Transform of the joint
        tcp - [in] Transformation of the point to control
        state -
        jacobian - [in] Jacobian to which to add the results.
      • getFixedTransform

        public Transform3Dd getFixedTransform()
        Description copied from class: Joint
        get the fixed transform from parent to this joint

        Notice that this does not include the actual rotation of the joint (its state)
        only its fixed transform.

        Overrides:
        getFixedTransform in class Joint
        Returns:
        fixed part of transform from paretn to joint
      • setFixedTransform

        public void setFixedTransform​(Transform3Dd t3d)
        Description copied from class: Joint
        change the transform from parent to joint base.
        Overrides:
        setFixedTransform in class Joint
        Parameters:
        t3d - [in] the new transform.
      • getJointTransform

        public Transform3Dd getJointTransform​(State state)
        Description copied from class: Joint
        get the isolated joint transformation which is purely dependent on
        q.
        Overrides:
        getJointTransform in class Joint
        Parameters:
        state - [in] the state from which to extract q
        Returns:
        the joint transformation
      • removeJointMapping

        public void removeJointMapping()
        Description copied from class: Joint
        removes mapping of joint values
        Overrides:
        removeJointMapping in class Joint