Package org.robwork.sdurw_models
Class PrismaticJoint
- java.lang.Object
-
- org.robwork.sdurw_kinematics.StateData
-
- org.robwork.sdurw_kinematics.Frame
-
- org.robwork.sdurw_models.Joint
-
- org.robwork.sdurw_models.PrismaticJoint
-
public class PrismaticJoint extends Joint
Prismatic joints.
PrismaticJoint implements a prismatic joint for the displacement in the
direction of the z-axis of an arbitrary displacement transform.
-
-
Constructor Summary
Constructors Constructor Description PrismaticJoint(long cPtr, boolean cMemoryOwn)
PrismaticJoint(java.lang.String name, Transform3D transform)
Constructs PrismaticJoint
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
delete()
static long
getCPtr(PrismaticJoint 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(double q)
The transform of the joint relative to its parent.
The transform is calculated for the joint values of state.
This method is equivalent to Frame::multiplyTransform except that is operates
directly on a joint vector instead of a State.
Transform3D
getJointTransform(State state)
get the isolated joint transformation which is purely dependent on
q.Transform3D
getTransform(double q)
The transform of the joint relative to its parent.
The transform is calculated for the joint values of state.
This method is equivalent to Frame::multiplyTransform except that is operates
directly on a joint vector instead of a State.
Transform3D
getTransform(State state)
The transform of the frame relative to its parent.
The transform is calculated for the joint values of state.
The exact implementation of getTransform() depends on the type of
frame.void
multiplyJointTransform(Transform3D parent, Q q, Transform3D result)
Post-multiply the transform of the joint to the parent transform.
The transform is calculated for the joint values of q.
This method is equivalent to Frame::multiplyTransform except that is operates
directly on a joint vector instead of a State.
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.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
-
PrismaticJoint
public PrismaticJoint(long cPtr, boolean cMemoryOwn)
-
PrismaticJoint
public PrismaticJoint(java.lang.String name, Transform3D transform)
Constructs PrismaticJoint
- Parameters:
name
- [in] Name of the jointstransform
- [in] Static transform of the joint
-
-
Method Detail
-
getCPtr
public static long getCPtr(PrismaticJoint obj)
-
multiplyJointTransform
public void multiplyJointTransform(Transform3D parent, Q q, Transform3D result)
Post-multiply the transform of the joint to the parent transform.
The transform is calculated for the joint values of q.
This method is equivalent to Frame::multiplyTransform except that is operates
directly on a joint vector instead of a State.
- Parameters:
parent
- [in] The world transform of the parent frame.q
- [in] Joint values for the jointresult
- [in] The transform of the frame in the world frame.
-
getJointTransform
public Transform3D getJointTransform(double q)
The transform of the joint relative to its parent.
The transform is calculated for the joint values of state.
This method is equivalent to Frame::multiplyTransform except that is operates
directly on a joint vector instead of a State.
- Parameters:
q
- [in] Joint values for the joint
- Returns:
- The transform of the frame relative to its displacement transform.
-
getTransform
public Transform3D getTransform(double q)
The transform of the joint relative to its parent.
The transform is calculated for the joint values of state.
This method is equivalent to Frame::multiplyTransform except that is operates
directly on a joint vector instead of a State.
- Parameters:
q
- [in] Joint values for the joint
- Returns:
- The transform of the frame relative to its parent transform.
-
getTransform
public Transform3D getTransform(State state)
The transform of the frame relative to its parent.
The transform is calculated for the joint values of state.
The exact implementation of getTransform() depends on the type of
frame. See for example RevoluteJoint and PrismaticJoint.
- Overrides:
getTransform
in classFrame
- Parameters:
state
- [in] Joint values for the forward kinematics tree.
- Returns:
- The transform of the frame relative to its parent.
-
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
-
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.
-
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
-
-