Package org.robwork.sdurw_models
Class DependentPrismaticJoint
- 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.DependentPrismaticJoint
-
public class DependentPrismaticJoint extends DependentJoint
Dependent prismatic joint.
DependentPrismaticJoint implements a prismatic joint for which the displacement
along the z-axis are linearly dependent on another joint
-
-
Constructor Summary
Constructors Constructor Description DependentPrismaticJoint(long cPtr, boolean cMemoryOwn)
DependentPrismaticJoint(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 void
delete()
static long
getCPtr(DependentPrismaticJoint 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.Transform3D
getTransform(State state)
The parent to frame transform for a revolute joint.
The parent to frame transform is T * Tz(q) where:
- T is the displacement transform of the joint;
- q = q_owner * scale + offset is the joint value of the joint;
- Tz(q) is the transform that translates a point an distance q in the
direction of the z-axis.
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, isDAF, multiplyTransform, notEqual, toString, wTf
-
-
-
-
Constructor Detail
-
DependentPrismaticJoint
public DependentPrismaticJoint(long cPtr, boolean cMemoryOwn)
-
DependentPrismaticJoint
public DependentPrismaticJoint(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 dependent 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(DependentPrismaticJoint obj)
-
delete
public void delete()
- Overrides:
delete
in classDependentJoint
-
getTransform
public Transform3D getTransform(State state)
The parent to frame transform for a revolute joint.
The parent to frame transform is T * Tz(q) where:
- T is the displacement transform of the joint;
- q = q_owner * scale + offset is the joint value of the joint;
- Tz(q) is the transform that translates a point an distance q in the
direction of the z-axis.
- Overrides:
getTransform
in classFrame
- Parameters:
state
- [in] Joint values for the forward kinematics tree.
- Returns:
- The transform of the frame relative to its parent.
-
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
-
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
-
-