Package org.robwork.sdurw_models
Class DependentRevoluteJoint
- java.lang.Object
-
- org.robwork.sdurw_kinematics.StateData
-
- org.robwork.sdurw_kinematics.Frame
-
- org.robwork.sdurw_models.Joint
-
- org.robwork.sdurw_models.DependentJoint
-
- org.robwork.sdurw_models.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 Summary
Constructors Constructor Description DependentRevoluteJoint(long cPtr, boolean cMemoryOwn)
DependentRevoluteJoint(java.lang.String name, Transform3D transform, Joint owner, double scale, double offset)
A revolute joint with a displacement transform of transform.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description double
calcQ(State state)
calculate the current q of this jointvoid
delete()
static long
getCPtr(DependentRevoluteJoint obj)
Transform3D
getFixedTransform()
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.
void
getJacobian(long row, long col, Transform3D joint, Transform3D tcp, State state, Jacobian jacobian)
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).
Transform3D
getJointTransform(State state)
get the isolated joint transformation which is purely dependent on
q.double
getOffset()
get offset of this joint value in relation to controlling jointJoint
getOwner()
The joint controlling the passive revolute frame.double
getScale()
The scaling factor for the joint value of the controlling joint.boolean
isControlledBy(Joint joint)
Returns true if the DependentJoint is controlled by joint.
A DependentJoint may depend on more than one joints.
void
removeJointMapping()
removes mapping of joint valuesvoid
setFixedTransform(Transform3D t3d)
change the transform from parent to joint base.void
setJointMapping(SWIGTYPE_p_rw__math__Function1DiffT_double_double_double_t__Ptr function)
set the function to be used in transforming from the state q to the actual q
needed.
This function can be used e.g.-
Methods inherited from class org.robwork.sdurw_models.DependentJoint
getCPtr
-
Methods inherited from class org.robwork.sdurw_models.Joint
getBounds, getCPtr, getMaxAcceleration, getMaxVelocity, isActive, setActive, setBounds, setBounds, setMaxAcceleration, setMaxVelocity
-
Methods inherited from class org.robwork.sdurw_kinematics.Frame
attachTo, equals, fTf, getChildren, getChildren, getChildrenList, getCPtr, getDafChildren, getDafParent, getDOF, getParent, getParent, getPropertyMap, getTransform, isDAF, multiplyTransform, notEqual, toString, wTf
-
-
-
-
Constructor Detail
-
DependentRevoluteJoint
public DependentRevoluteJoint(long cPtr, boolean cMemoryOwn)
-
DependentRevoluteJoint
public DependentRevoluteJoint(java.lang.String name, Transform3D transform, Joint owner, double scale, double offset)
A revolute joint with a displacement transform of transform.
- Parameters:
name
- [in] The name of the frame.
transform
- [in] The displacement transform of the joint.
owner
- [in] The joint controlling the passive joint.
scale
- [in] Scaling factor for the controlling joint value.
offset
- [in] Offset for the controlling joint value.
-
-
Method Detail
-
getCPtr
public static long getCPtr(DependentRevoluteJoint obj)
-
delete
public void delete()
- Overrides:
delete
in classDependentJoint
-
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 classDependentJoint
- 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, Transform3D joint, Transform3D 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 classJoint
- Parameters:
row
- [in] Row where values should be storedcol
- [in] Column where values should be storedjoint
- [in] Transform of the jointtcp
- [in] Transformation of the point to controlstate
-jacobian
- [in] Jacobian to which to add the results.
-
getFixedTransform
public Transform3D 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 classJoint
- Returns:
- fixed part of transform from paretn to joint
-
setFixedTransform
public void setFixedTransform(Transform3D t3d)
Description copied from class:Joint
change the transform from parent to joint base.- Overrides:
setFixedTransform
in classJoint
- Parameters:
t3d
- [in] the new transform.
-
getJointTransform
public Transform3D getJointTransform(State state)
Description copied from class:Joint
get the isolated joint transformation which is purely dependent on
q.- Overrides:
getJointTransform
in classJoint
- Parameters:
state
- [in] the state from which to extract q- Returns:
- the joint transformation
-
setJointMapping
public void setJointMapping(SWIGTYPE_p_rw__math__Function1DiffT_double_double_double_t__Ptr function)
Description copied from class:Joint
set the function to be used in transforming from the state q to the actual q
needed.
This function can be used e.g. by a calibration.- Overrides:
setJointMapping
in classJoint
- Parameters:
function
- [in] function with first order derivative.
-
removeJointMapping
public void removeJointMapping()
Description copied from class:Joint
removes mapping of joint values- Overrides:
removeJointMapping
in classJoint
-
-