Package org.robwork.sdurw_models
Class Joint
- java.lang.Object
-
- org.robwork.sdurw_kinematics.StateData
-
- org.robwork.sdurw_kinematics.Frame
-
- org.robwork.sdurw_models.Joint
-
- Direct Known Subclasses:
DependentJoint
,PrismaticJoint
,PrismaticSphericalJoint
,PrismaticUniversalJoint
,RevoluteJoint
,SphericalJoint
,UniversalJoint
,VirtualJoint
public class Joint extends Frame
A Joint is a Frame with assignable values for
position, velocity limits and acceleration limits.
-
-
Constructor Summary
Constructors Constructor Description Joint(long cPtr, boolean cMemoryOwn)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
delete()
PairQ
getBounds()
Gets joint boundsstatic long
getCPtr(Joint 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.Q
getMaxAcceleration()
Gets max acceleration of jointQ
getMaxVelocity()
Gets max velocity of jointboolean
isActive()
a joint is active if its motorized/controlled in some
fasion.void
removeJointMapping()
removes mapping of joint valuesvoid
setActive(boolean isActive)
set the active state of the jointvoid
setBounds(PairConstQ bounds)
Sets joint boundsvoid
setBounds(Q lower, Q upper)
Sets joint boundsvoid
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.void
setMaxAcceleration(Q maxAcceleration)
Sets max acceleration of jointvoid
setMaxVelocity(Q maxVelocity)
Sets max velocity of joint-
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
-
-
-
-
Method Detail
-
getCPtr
public static long getCPtr(Joint obj)
-
setBounds
public void setBounds(PairConstQ bounds)
Sets joint bounds- Parameters:
bounds
- [in] the lower and upper bounds of this joint
-
setBounds
public void setBounds(Q lower, Q upper)
Sets joint bounds- Parameters:
lower
- [in] the lower of this jointupper
- [in] the upper of this joint
-
getBounds
public PairQ getBounds()
Gets joint bounds- Returns:
- the lower and upper bound of this joint
-
setMaxVelocity
public void setMaxVelocity(Q maxVelocity)
Sets max velocity of joint- Parameters:
maxVelocity
- [in] the new maximum velocity of the joint
-
getMaxVelocity
public Q getMaxVelocity()
Gets max velocity of joint- Returns:
- the maximum velocity of the joint
-
setMaxAcceleration
public void setMaxAcceleration(Q maxAcceleration)
Sets max acceleration of joint- Parameters:
maxAcceleration
- [in] the new maximum acceleration of the joint
-
getMaxAcceleration
public Q getMaxAcceleration()
Gets max acceleration of joint- Returns:
- the maximum acceleration of the joint
-
getJacobian
public 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).
- 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()
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.
- Returns:
- fixed part of transform from paretn to joint
-
setFixedTransform
public void setFixedTransform(Transform3D t3d)
change the transform from parent to joint base.- Parameters:
t3d
- [in] the new transform.
-
getJointTransform
public Transform3D getJointTransform(State state)
get the isolated joint transformation which is purely dependent on
q.- Parameters:
state
- [in] the state from which to extract q- Returns:
- the joint transformation
-
setActive
public void setActive(boolean isActive)
set the active state of the joint- Parameters:
isActive
- [in] true to enable control/motorization of joint, false otherwise
-
isActive
public boolean isActive()
a joint is active if its motorized/controlled in some
fasion. passive or non-active joints are typically used in parrallel robots.- Returns:
-
setJointMapping
public 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. by a calibration.- Parameters:
function
- [in] function with first order derivative.
-
removeJointMapping
public void removeJointMapping()
removes mapping of joint values
-
-