Package org.robwork.sdurw
Class DependentRevoluteJoint
- java.lang.Object
-
- org.robwork.sdurw_kinematics.StateData
-
- org.robwork.sdurw_kinematics.Frame
-
- org.robwork.sdurw.Joint
-
- org.robwork.sdurw.DependentJoint
-
- org.robwork.sdurw.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)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description doublecalcQ(State state)calculate the current q of this jointvoiddelete()static longgetCPtr(DependentRevoluteJoint obj)Transform3DdgetFixedTransform()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.
voidgetJacobian(long row, long col, Transform3Dd joint, Transform3Dd 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).
Transform3DdgetJointTransform(State state)get the isolated joint transformation which is purely dependent on
q.doublegetOffset()get offset of this joint value in relation to controlling jointJointgetOwner()The joint controlling the passive revolute frame.doublegetScale()The scaling factor for the joint value of the controlling joint.booleanisControlledBy(Joint joint)Returns true if the DependentJoint is controlled by joint.
A DependentJoint may depend on more than one joints.
voidremoveJointMapping()removes mapping of joint valuesvoidsetFixedTransform(Transform3Dd t3d)change the transform from parent to joint base.voidsetJointMapping(SWIGTYPE_p_rw__core__PtrT_rw__math__Function1DiffT_double_double_double_t_t 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.DependentJoint
getCPtr
-
Methods inherited from class org.robwork.sdurw.Joint
getBounds, getCPtr, getMaxAcceleration, getMaxVelocity, isActive, setActive, setBounds, setMaxAcceleration, setMaxVelocity
-
Methods inherited from class org.robwork.sdurw_kinematics.Frame
attachTo, fTf, getChildren, getChildren, getChildrenList, getCPtr, getDafChildren, getDafParent, getDOF, getParent, getParent, getPropertyMap, getTransform, isDAF, multiplyTransform, wTf
-
Methods inherited from class org.robwork.sdurw_kinematics.StateData
getCache, getCPtr, getDefaultCache, getID, getName, getStateStructure, hasCache, setCache, size
-
-
-
-
Method Detail
-
getCPtr
public static long getCPtr(DependentRevoluteJoint obj)
-
delete
public void delete()
- Overrides:
deletein 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:DependentJointReturns true if the DependentJoint is controlled by joint.
A DependentJoint may depend on more than one joints.
- Overrides:
isControlledByin 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, Transform3Dd joint, Transform3Dd tcp, State state, Jacobian jacobian)Description copied from class:JointFinds 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:
getJacobianin 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 Transform3Dd getFixedTransform()
Description copied from class:Jointget 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:
getFixedTransformin classJoint- Returns:
- fixed part of transform from paretn to joint
-
setFixedTransform
public void setFixedTransform(Transform3Dd t3d)
Description copied from class:Jointchange the transform from parent to joint base.- Overrides:
setFixedTransformin classJoint- Parameters:
t3d- [in] the new transform.
-
getJointTransform
public Transform3Dd getJointTransform(State state)
Description copied from class:Jointget the isolated joint transformation which is purely dependent on
q.- Overrides:
getJointTransformin classJoint- Parameters:
state- [in] the state from which to extract q- Returns:
- the joint transformation
-
setJointMapping
public void setJointMapping(SWIGTYPE_p_rw__core__PtrT_rw__math__Function1DiffT_double_double_double_t_t function)
Description copied from class:Jointset 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:
setJointMappingin classJoint- Parameters:
function- [in] function with first order derivative.
-
removeJointMapping
public void removeJointMapping()
Description copied from class:Jointremoves mapping of joint values- Overrides:
removeJointMappingin classJoint
-
-